From d54baf28e4e73d37fa98786331d84506b11489fc Mon Sep 17 00:00:00 2001 From: Sohyun Lee <sh119@ajou.ac.kr> Date: Mon, 17 Jan 2022 16:34:27 +0900 Subject: [PATCH] lec08 --- lec08/hello.c | 31 +++++++++++++++++++++++++++++++ lec08/hello.o | Bin 0 -> 2408 bytes lec08/hello.s | 1 + lec08/hellocpp.c | 30 ++++++++++++++++++++++++++++++ lec08/hellocpp.o | Bin 0 -> 688 bytes lec08/hellocpp.s | 1 + lec08/macrotest.c | 14 ++++++++++++++ 7 files changed, 77 insertions(+) create mode 100644 lec08/hello.c create mode 100644 lec08/hello.o create mode 100644 lec08/hello.s create mode 100644 lec08/hellocpp.c create mode 100644 lec08/hellocpp.o create mode 100644 lec08/hellocpp.s create mode 100644 lec08/macrotest.c diff --git a/lec08/hello.c b/lec08/hello.c new file mode 100644 index 0000000..a118c5d --- /dev/null +++ b/lec08/hello.c @@ -0,0 +1,31 @@ +#include <stdio.h> + +int add(int *a, int *b, int *c) +{ + *c = *a + *b; +} + +int main() +{ + int a = 100; + int b = 200; + int c = 999; + // int * == long long + + fprintf(stdout, "%d : %lld %llx\n", a,(long long) &a,(long long) &a); + fprintf(stdout, "%d : %lld %llx\n", b, (long long)&b, (long long)&b); + add(&a, &b ,&c); + //c = a+b + fprintf(stdout, "%s %d : %d\n",__FILE__, __LINE__,c); + fprintf(stdout, "%s %d : %d\n",__FILE__, __LINE__,c); + fprintf(stdout, "%s %d : %d\n",__FILE__, __LINE__,c); +#define ERR_DATA 2000 +#if ERR_DATA > 1000 +#error 1024 +#else +#warning ERR_DATA +#endif + fprintf(stdout, "%s %d : %d",__FILE__, __LINE__,c); + + +} diff --git a/lec08/hello.o b/lec08/hello.o new file mode 100644 index 0000000000000000000000000000000000000000..fb73646a9b4f3fb332b497cd582ffb9c07749bec GIT binary patch literal 2408 zcmb<-^>JfjWMqH=Mg}_u1P><4z@Wi~U^{@B4h*~uJPe^8oliYFYkzojmVWT)41M9z z?fRoz07QB;A7JTbU_9i}?fRlqU_$I+u+ru?3Mn4lEUFp|3=AHfu0IS99Cv+@!oa|A z-1W@~kl1n856_ty7`j15v4Sk}=q-KW(d+xdv-5*TuPIoh^Y{)B{Q^XEhraRXhADjG z(d+vLheD6u&<`MKk6zao9-ZerI*)_(dvu3>Ko|g0@d2L!&4)NVdR;$wG#}vb=q~-> z(QONIglFdkkIsW0ou8mCL^uy@Yx5xis3rlTG=a5ybl3h!@i4Xl2UQ6x*s&)MtEMPe zDX8Y;q=1MDE(Qj7XJ;z~jnJghypmD{b3Ic%16|`%Fwd~g&_d6^L=z$kawY=<g9wyn ztO{aatPo(7=3(cUz{tQL!vMh`X>AbU$S2Uo<jl*K#>375m9qhfGcYi?f)WT!p4ovB zq5>+3MuC*FFns)vCJg2>V@+uc49pD7V0m<cnSlje2+U_@0LMR=jZ82zup@KfY-R?K zkKkN5gP8#-kwZl}85kIZklYCl8wLgjUZ^;X4-ONs7z2X<R4+0m$$(v4ABVU(4snKz z)SR4ry<~>OloW>C#LPT~;*ym7(h`PvcOQQzN1u3qH@9HdkoXWsCm+{%hO~mB%)F8` zhWPm6lEmcf_~eZ2__V~#9ELck<Cqv27`Pc282<c+fC40OP^iMhYoX$x7y$VlCf*Je zM>l6Ck~p$C%b?=u=In)vgUkViIm~=enE;Xki6gu77D$kRfdM3rZ2ohoIJ)^vpo9oj zk8F+*k~p$CGEi}JbIhUQAbXL`aYqtIHYX4&j&4pCk~kky_$xr&4>BKwp<D(?nG5kR zNF0{#81#xOb4wDF81#xuiXe0bj8&AHlc-mcT2aEFmy%eL$e@>0T+E<Xln>z~=jZ08 z=9Mt$<>i;8>bd)c>VlI9gC1C0YDRooQDSZ?%zjE~kiS4)M$cg|e-(fvkt{*uGDtHp zfO9`gJxu8jXi+f(s)37v0i0W5Ia~s&Pz@>$RSp$pVAufF2N!@c(1mpv7{H|lx%v&E z_JiUMY6X~r*^gdkpxbW=)o%dSg&+<<6>1@bz$~aRI4nQ{PEh?IHZpz%Q-~~xMQu1# z4Bh=7p!y@w^uxj*CLDw#{w9Dj3j+fK%wM4R1L*}}kX~5)fviEd8zk=m70duBfR<&T s@&jEzNDMvhK>9a81wB9<Bn&kUE+WVPs+ZtgIO71+{fTf92m@U|01rQPFaQ7m literal 0 HcmV?d00001 diff --git a/lec08/hello.s b/lec08/hello.s new file mode 100644 index 0000000..8905c76 --- /dev/null +++ b/lec08/hello.s @@ -0,0 +1 @@ + .file "hello.c" diff --git a/lec08/hellocpp.c b/lec08/hellocpp.c new file mode 100644 index 0000000..62c47ba --- /dev/null +++ b/lec08/hellocpp.c @@ -0,0 +1,30 @@ +# 1 "hello.c" +# 1 "<built-in>" +# 1 "<command-line>" +# 31 "<command-line>" +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 32 "<command-line>" 2 +# 1 "hello.c" + + +int add(int *a, int *b, int *c) +{ + *c = *a + *b; +} + +int main() +{ + const int a = 100; + int b = 200; + long long c = 999; + + + fprintf(stdout, "%d : %lld %llx\n", a, &a, &a); + fprintf(stdout, "%d : %lld %llx\n", b, &b, &b); + add(&a, &b ,&c); + + fprintf(stdout, "%d : %lld %llx\n", c, &c, &c); + fprintf(stdout, "%d : %lld %llx\n", c, &c+1, &c+1); + fprintf(stdout, "%d : %lld %llx\n", c, &c+2, &c+2); + +} diff --git a/lec08/hellocpp.o b/lec08/hellocpp.o new file mode 100644 index 0000000000000000000000000000000000000000..eaa376831f288714a2c00d1ab029a86dd97db229 GIT binary patch literal 688 zcmb<-^>JfjWMqH=Mg}_u1P><4!0-XVWN-kp9T?ad*uX4o1jq~)hL8WT$uVQKfq{XU zfeD*(24)6kO!17=oSgjRf&#r{1_r(2%G{E~BnG|Wk|GG50b`Y<R+KR4r6iUlGUz20 z7h{@3qKGsD1K9QGK8J(}reUCPKo(Vm>PPnxvHH~+7#KJhKw*V!Dg!i5P{lwzbo)Vk zY@rOZzXGI*fq{V)ia~aPgd{)&0|Nsm7P~=GJ3s^j0|O6~hEX8<U~CXAh(rGokR$^G LgASC2QRw;s5n>xb literal 0 HcmV?d00001 diff --git a/lec08/hellocpp.s b/lec08/hellocpp.s new file mode 100644 index 0000000..6f73298 --- /dev/null +++ b/lec08/hellocpp.s @@ -0,0 +1 @@ + .file "hellocpp.c" diff --git a/lec08/macrotest.c b/lec08/macrotest.c new file mode 100644 index 0000000..39a86af --- /dev/null +++ b/lec08/macrotest.c @@ -0,0 +1,14 @@ +#define HE HI +#define LLO _THERE +#define HELLO "HI THERE" +#define CAT(a,b) a##b +#define XCAT(a,b) CAT(a,b) +#define CALL(fn) fn(HE,LLO) +CAT(HE,LLO) // "HI THERE", because concatenation occurs before normal expansion +XCAT(HE,LLO) // HI_THERE, because the tokens originating from parameters ("HE" and "LLO") are expanded first +CALL(CAT) // "HI THERE", because parameters are expanded first + +#define sq(a) a*a +sq(B) +#define sq(a) aaa +sq(C) -- GitLab