[cpl] [Tema 2] Obiecte ca parametrii

Bogdan Nitulescu bogdannitulescu at yahoo.com
Sat Nov 19 08:33:55 EET 2016


Salut,

Obiectele sunt trimise ca referinte.

Ca sa fie mai clar, uita-te la codul C din lcpl_runtime.h si 
lcpl_runtime.c , folosit pentru implementarea claselor implicite LCPL. 
De exemplu:

    struct TString* M6_String_concat(struct TString* self, struct
    TString* other)

BTW, daca aveti probleme sa va dati seama care este secventa LLVM 
corecta pentru o bucata de cod LCPL, puteti folosi aceeasi tehnica:
- scrieti o functie C care are acelasi efect, intr-un fisier test.c
- rulati clang

    clang -m32 -S -O0 -emit-llvm -S test.c

- va uitati in test.ll ca sa vedeti ce a generat clang pentru acel caz

--Bogdan


On 11/18/2016 8:20 PM, Cosmin Crecana via cpl wrote:
> Salut,
>
> Nu reusesc sa imi dau seama daca atunci cand se defineste o metoda
> aceasta primeste o referinta la obiectul primit ca parametru sau o copie
> a acestei structuri.
>
> O metoda de forma myMethod(String a) din clasa Main se va translata in:
>  1. define void @M4_Main_myMethod(%struct.TMain* %self, 
> %struct.TString %a)
> sau
> 2. define void @M4_Main_myMethod(%struct.TMain* %self, 
> %struct.TString* %a)
> ?
>
>
> Multumesc,
>
> Cosmin
>
>
> _______________________________________________
> cpl mailing list
> cpl at cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/cpl

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/cpl/attachments/20161119/02ae5c61/attachment.html>


More information about the cpl mailing list