[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