From 743f5d215dea5b188d6a35824a5c42bda87275e0 Mon Sep 17 00:00:00 2001 From: Drew Bednar Date: Sun, 18 Oct 2020 16:40:12 -0400 Subject: [PATCH] Adding a lot of C code --- .gitignore | 1 + env_vars/Makefile | 7 +++++ env_vars/README.md | 20 ++++++++++++++ env_vars/env | Bin 0 -> 12876 bytes env_vars/env.c | 14 ++++++++++ file_io/Makefile | 7 +++++ file_io/csv_writer | Bin 0 -> 13236 bytes file_io/csv_writer.c | 56 ++++++++++++++++++++++++++++++++++++++ file_io/dirp.csv | 1 + headers/Makefile | 11 ++++++++ headers/temp_count | Bin 0 -> 13324 bytes hello/Makefile | 7 +++++ pointers/Makefile | 17 ++++++++++++ pointers/README.md | 5 ++++ pointers/adv_pointer | Bin 0 -> 12868 bytes pointers/adv_pointer.c | 30 ++++++++++++++++++++ pointers/simple_pointer | Bin 0 -> 12644 bytes pointers/simple_pointer.c | 18 ++++++++++++ static/Makefile | 5 ++++ static/eggs | Bin 0 -> 12636 bytes structs/Makefile | 16 +++++++++++ structs/pixel | Bin 0 -> 12644 bytes structs/struct2 | Bin 0 -> 12556 bytes 23 files changed, 215 insertions(+) create mode 100644 env_vars/Makefile create mode 100644 env_vars/README.md create mode 100755 env_vars/env create mode 100644 env_vars/env.c create mode 100644 file_io/Makefile create mode 100755 file_io/csv_writer create mode 100644 file_io/csv_writer.c create mode 100644 file_io/dirp.csv create mode 100644 headers/Makefile create mode 100755 headers/temp_count create mode 100644 hello/Makefile create mode 100644 pointers/Makefile create mode 100644 pointers/README.md create mode 100755 pointers/adv_pointer create mode 100644 pointers/adv_pointer.c create mode 100755 pointers/simple_pointer create mode 100644 pointers/simple_pointer.c create mode 100644 static/Makefile create mode 100755 static/eggs create mode 100644 structs/Makefile create mode 100755 structs/pixel create mode 100755 structs/struct2 diff --git a/.gitignore b/.gitignore index e7388b9..4433abd 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ # Debug files *.dSYM/ +.idea/ \ No newline at end of file diff --git a/env_vars/Makefile b/env_vars/Makefile new file mode 100644 index 0000000..8130219 --- /dev/null +++ b/env_vars/Makefile @@ -0,0 +1,7 @@ +P= +OBJECTS= +CFLAGS = -g -Wall -O3 +LDLIBS= +CC=gcc + +$(P): $(OBJECTS) diff --git a/env_vars/README.md b/env_vars/README.md new file mode 100644 index 0000000..3deb5c6 --- /dev/null +++ b/env_vars/README.md @@ -0,0 +1,20 @@ +# Environment Variables + +Ok this is kind of getting interesting. + +## Building + +This makefile is kind of interesting. To build and name our program we just need to: + +``` +make P="env" +``` +Ok I don't really know the magic that is going on behind that one. Notice though that you are passing that variable after calling the program. +Technically, I think it's supposed to work like this: + +``` +make CFLAGS="-g -Wall" Set a makefile variable. +CFLAGS="-g -Wall" make Set an environment variable that only make and its children see. +``` + +But on my mac I am noticing only the set makefile variable method works. diff --git a/env_vars/env b/env_vars/env new file mode 100755 index 0000000000000000000000000000000000000000..015c3640a53a20e0b2bbdbaf685070d8bedb9d4c GIT binary patch literal 12876 zcmeHN&ud&&6uy(BZLBeq3QGMwtw~XlnYLQcMZwVwPBEmZliFg@>zkREWN?1*-kbbD zC|MXVU@*9lC|UPkP;?XM!bKN?3lZ9_k|Kf&LFmHi_q}&-^5%_QxDx6){R>g}2Xhv{zES@E;N5 z{0v8}XA75SdtJiyd~jS0Mk>lGr?n2;C3O;2VSi?Zyb{Gu9NGfeK@4`d@FXW_l!3T-%zlK>#dOgIA&hE&?qnKg+7zW3pkWSUUtt~*B$Mz zG|H{IZU^2y;~h0&7(bo|K3hHSpVn0;aIABGen+vMoY;L5$K&mtte|z?3PoF+PK8<+xI-p$i&5dl>!Ro`5sJ&!I1($6xqPaGs0!%6)oDsU7qW zLT8|q2aNKO9PjxY0>`C|_2eokqZr6QN1(Zm@8#;Xa;~~kuL4t^fHIHm4?Y_|edX1c zt}T7Leed-8lOZJ!cc zz`@(UcDvmLUO8{yqV+hfA7OcJ+gA;LUKQPXy~Xd2yvsfbrNn#QQF$SM86B11S1Gi4 z_Z`8?v2e9g$J9W0J?6ZKFdz&F1HynXAPfit!hkR!3EF%d5uN2VKKZeqdpwP z>lZw=seH_6Cur4Z55t~!1Gl+IGzQe}1U_s?N~2DHKsOe&yX;mvfr}b=hhdI2oLW;& zurOgztv*d(h&A%CM^PYa>z-$TZEY|8t|l<6EanDN>P}}=bDqClWZ9VCExv|19>X-p zp%o~Fcp6O{S2<{eX{J+QiAL!AXo%TFYguan_q`Rz6PR_y@%fVp%sOZmcsvAUZF3xF zP{rNPpAPwp&cL!C@!of0C@$wAw!PY-6SyjO(RV#RSM}VbvRiFBUT&%7edxEHikqvu cj@Q(c9L`cNI`C4kvXy_ghD%y1N)UUw3y5_hX#fBK literal 0 HcmV?d00001 diff --git a/env_vars/env.c b/env_vars/env.c new file mode 100644 index 0000000..ba94c51 --- /dev/null +++ b/env_vars/env.c @@ -0,0 +1,14 @@ +#include //getenv, atoi +#include //printf + +int main(){ + // pointer to a char + char *repstext=getenv("reps"); + int reps = repstext ? atoi(repstext) : 10; + + char *msg = getenv("msg"); + if (!msg) msg = "Hello."; + + for (int i=0; i< reps; i++) + printf("%s\n", msg); +} diff --git a/file_io/Makefile b/file_io/Makefile new file mode 100644 index 0000000..7362e1a --- /dev/null +++ b/file_io/Makefile @@ -0,0 +1,7 @@ + + +csv_writer: + gcc -o csv_writer csv_writer.c + +clean: + rm -f csv_writer diff --git a/file_io/csv_writer b/file_io/csv_writer new file mode 100755 index 0000000000000000000000000000000000000000..b6e6961b28fe2ffe82bf2d1500e200db44df95b9 GIT binary patch literal 13236 zcmeHOYiL|W6rS{D8f}xRXvG$8)zw%^AJRY+gGn{@iX}!9F^KhgvwPEBx-a(LjR{n# zhAmy!twD^4A{6zPq9|Atu_`LI6~PyXKSYYHWm_MJsFVuE@0*#s*}buU{HM&o%sJnj zGv}N+GdFv)oc;97Pk)^wM9V@U!~*mV^pV9vl!OINh)d9IbjKO&ySe}F{yT2tY;$XA zhX06Y=W8fB&T#+8aI=bBPsfc-V}v5YPO;+z-b65`7_~QjE;a-4qudM{@gl{lago^F z2pz`{ilcsgDr#@la%FEoYlJvl(5me%(G$v^ll0PguYkFzy|lLXxYj4up{kjA@x}e1 zkjn0;+i%X_U)tVVT29>9nruVhIK}M!scgbYWyf+7H`{x&UG0}=&PE)yp(JYLxju#N zI5+hT_c=G-HZY`47w6Y>uHpG=%KOGn9ZosUj$FgBp4Hw;=*osgTpu>(e_04X8CMNm z#nm9NB5?uB7Ktm|v*V;)$DhoM=F(0+D4f+^QkxN0b6j|~M=h&i(cRhK#yM|#Al#*+{7R{Tj+zjblbtnv$Q*OBW+r%Pt@^br2)-6~IzA>Io z?4Ne{_oA`UZ#Oz++(%2I1%HlO=3+rSLz8~sW!7(5kGN8!P(r&Bo%XwtALjFFjhQdg zOa@E_Oa@E_Oa`JExYI6wZ$I=SKdbD@;(PJxYFC6^?mvB~bkFSUEY-^gN5I+T1A`z_ z6122G#t$^C*eq9c+tn@$A9b6K>^)o?!sphz{Ol{2He*F?6R=$=akX8UXsz8vTrSxX zE3%mCcKJ~4awY4fZ0aD1XfJ73N8rG&(AAgFlCEl4r(JD?ZtWv(nsuT#XvDL>J`BEC>9Npy?}`zNzW^ntr0`SDGHx^pvK*Y5M=moY|4dfXRT#fXRT#fXRT# zfXRT#fXRT#fXRT#z<(zLD=rt?8SRQ*ho$Roe5Vsn?sRq(-9kd#UJ%o2KH(J#c>q@4 z%8Ges6h-8yaG%y&^`jQXP+9@0->NMa;`vFM=3EEnyoppmekJ&^csl2ML>5sFwGRZH z1bGy{2V;aA2@9Uo>js~ZRT-4@0?p~!M8&|TWDvX`ceB#K2tiOtE9>_ugb66(OArUY zGg#ncl8DTU7XuG9{4RI6CgY~EBF4gsg<|?*z2A^|8+bVie8akJSvk|9DvSBO%0=ky zV8Y)euvP<*BH7ksY{Y#Lye)$7j^O(um^C$x_E_WJh$kZW!3f?H!TTcki3olsf>~tK z=`bk@ZqZDJ`pYpz&<#9C|C@Z&2Zfu9}7`e_ypp`=az2IPFuf3w~~)&Bf* z#r?s#Hr;x8XPai!b0DYGBOuxOT~@a^yubS9*6*ykt>HZlZ>YMP`c{Vbk(4)a-t&du Q3-FP{?H)({5fXs*H_vbIc>n+a literal 0 HcmV?d00001 diff --git a/file_io/csv_writer.c b/file_io/csv_writer.c new file mode 100644 index 0000000..34378b4 --- /dev/null +++ b/file_io/csv_writer.c @@ -0,0 +1,56 @@ +#include +#include +#include + +#define FILE_EXTENSION ".csv" + + +int main(int argc, char const *argv[]){ + + if (argc <= 1){ + fprintf(stderr, "Failed to provide a csv file\n"); + exit(1); + } + + size_t file_len = strlen(argv[1]); + + /*char pointer of*/ + char * FILE_NAME = malloc(file_len + 1); + if (FILE_NAME == NULL){ + fprintf(stderr, "Failed to allocate memory for file name!"); + exit(1); + } + + /* Copy file name from executable's first arguments.*/ + strcpy(FILE_NAME, argv[1]); + + /*Returns a pointer to the location the substring if found*/ + if (strstr(FILE_NAME, FILE_EXTENSION) == NULL ){ + fprintf(stderr, "What the fuck are you doing? That %s isn't a csv file!\n", FILE_NAME); + free(FILE_NAME); + FILE_NAME = 0; + exit(1); + } + + char name[128], phone_number[13]; + // puts(FILE_NAME); + FILE *_target_file = fopen(FILE_NAME, "a"); + if (_target_file == NULL){ + exit(1); + + } + + puts("Name: "); + scanf("%s", name); + puts("Number: "); + scanf("%s", phone_number); + + printf("Appending %s and %s to %s", name, phone_number, FILE_NAME); + fprintf(_target_file,"%s,%s\n", name, phone_number); + fclose(_target_file); + /*clean up*/ + free(FILE_NAME); + FILE_NAME = 0; + + return 0; +} diff --git a/file_io/dirp.csv b/file_io/dirp.csv new file mode 100644 index 0000000..75cadf7 --- /dev/null +++ b/file_io/dirp.csv @@ -0,0 +1 @@ +Margot,517-775-7040 diff --git a/headers/Makefile b/headers/Makefile new file mode 100644 index 0000000..63a9b12 --- /dev/null +++ b/headers/Makefile @@ -0,0 +1,11 @@ +.PHONY: clean +P=temp_count +OBJECTS= temp.o temp_count.o +CFLAGS = -g -Wall -O3 +LDLIBS='' +CC=gcc + +$(P): $(OBJECTS) + +clean: + rm -f *.o $(P) diff --git a/headers/temp_count b/headers/temp_count new file mode 100755 index 0000000000000000000000000000000000000000..f6560b55bf4b67b4671b36851ab66e045cd05668 GIT binary patch literal 13324 zcmeHOUx-vy96qz_=(g$JS%@-p^;T}E$V_U82EvXyIg7e(uGVI)hr2U(b_eIrdhZ=q ziD*d-7ZJ9CvbP>8A_|0v-a@bkdn$t7g!ZKxNo#RQq=%;OyK}B{_i9Bw=J~<7=X~e< ze&79_Z_W%y{rUCp*Z)`|M66v1(T0{lyA>DWv@kIe;$gHbnv{d--I>Fg1N%9<&|(YW zT@iWK;ssJ3%nTn~=;Fuo#bHwzsR*{kYE4SdKH;?-qkMDAuo*0`Qb`dnYPl0kg`t$L zR~vP2Peu8rqVa=BUw=A(Se5l@Z7->I-pTnig@YyN)h?H|~a+0`E$ ztS2J60n?T$V)BH!9u;EBcfo^u=|CTxdB&N*Ci*_~Mv}P zXFdg;ABU8LFgnE|G>-io7H?=K0_y6 z&n_o-B#~Ef6i%?m(a8TH^r4>X6sBI-0L;(@(s53P2doeKl_!zI?;z-Zxu+1rtCQfiiUj#yyj?5kgBufOUCz>h9#FEhmT-#HwA+h6LA=Ya9<$+v!fD0_A@a()8~NO(88^cTEB z?V6s;p87KJLi)(ar5Wyb-grL#q91-FKJ53yab815E)~@Ja6IedM(;ITiWm;2uz5gZlT`EvmlmKr5gX&t9~)O97R1hir1fU#EfvUA}z04;J5?h2^5ceM9N|kb+PTTJTC1M zcCO~xsC~B>zP@Y~Dai5LuAlV)))IpIH>4-9v{*0)1=hVe)QvtF9DEj?(#*hH25o##siCo356RE5q{ zcv>AT=^x4FaSjgh9mgIO_53E_oFBJ5Tci%Tw&SMqjy*YQ=PQ literal 0 HcmV?d00001 diff --git a/hello/Makefile b/hello/Makefile new file mode 100644 index 0000000..876d9a2 --- /dev/null +++ b/hello/Makefile @@ -0,0 +1,7 @@ +.PHONY: clean + +hello: + gcc hello.c -o hello -g -Wall -O3 + +clean: + rm -f *.o hello diff --git a/pointers/Makefile b/pointers/Makefile new file mode 100644 index 0000000..1e3c385 --- /dev/null +++ b/pointers/Makefile @@ -0,0 +1,17 @@ +CFLAGS=-Wall -O3 +PROGRAMS=simple_pointer adv_pointer + +all: $(PROGRAMS) + +simple_pointer: + gcc -o simple_pointer $(CFLAGS) simple_pointer.c + +adv_pointer: + gcc -o adv_pointer $(CFLAGS) adv_pointer.c + +# NOT IMPLEMENTED +#array_pointer: +# gcc -o array_pointer -Wall -O1 array_pointer.c + +clean: + rm -f $(PROGRAMS) diff --git a/pointers/README.md b/pointers/README.md new file mode 100644 index 0000000..1ef1086 --- /dev/null +++ b/pointers/README.md @@ -0,0 +1,5 @@ +#Pointers + +Following this [C Pointers Tutorial]. + +[C Pointers Tutorial]: https://www.cprogramming.com/tutorial/c/lesson6.html diff --git a/pointers/adv_pointer b/pointers/adv_pointer new file mode 100755 index 0000000000000000000000000000000000000000..60ace4bc2c1ce12c0c070b202724c050e80310d0 GIT binary patch literal 12868 zcmeHO-)|IE6uvD#thLhR#eisXQ5O)+QbdiAkg(9|5-UYpkVxQW+L`UH%JhLCO+_B{l1wy?d(+k0Og)=@A+}h zJ#+4NW}Ca4!`C-|`}+2bKwON=QgTti~u|D7Clv%)mTQ2SFS?(?)Lzp)_ntMzg1 zkc~H^nKgFZAVHSVR#ddqmL;2RM(aeqR@KdAw2%&UbF=S7PqnaK-! zM47yjGb`m2ogZ zjHQLo=iu%=&kpqOPCi>ms11LeV81>X*P?YD@BtxCL@t>4>@M)9^cvX?=zGCu!0|77 zCs>P1P zT7$tn-nshcBk%QWIsWPUTfexu;e+1CV3Qcp8GF0MQVhxwmdhXQ+z2^`kU=&(ER=cr>L7vwWM8H7%)u(N=?s-tiMt;1ma^T3CAKCE@(Wym045HJWB z1PlTOf&Uf)`$|*Siu;F4CvW7w9JsL+cY)IMcHRtHzu+LBFU8dQ7E|fe`QF#xq%d`% zbY|JR@F<<>g6|sKLT0yN;S*j*T4(7pz5Qh<1DpRUO*e0BKHqvfHogjDY3d3Lr(?rM zFtlEa77rh~Ff*6`ex(p|`ODFKC7OSX=AWYZD(1oI`>%l&hv)L2A;3%pLB#c+ z=jP@rygpsOOzB=q-%!F;OI*K1=}Ahnly*}37}C%YIpIir7myZa&z46mx9P~T@6}|@ za$RqX>tj}3T0u}92a7!l-Qq>Zb!E9Zc0`7iY9Q^ZU0)x{3C}-Lkk7?i%U0EOY=MV_ z6-QdO?K?pry|VNqc6jy39E28PSm8FAZ*+@|jnq=bu^RI$c^i+6Qq9}lV$ccK2hw#c zA5lEn3>=;BTD{bsFMS%@qnp5-q$?jdQ7tq@9y>Z{F6$%C56Ww3$ zqX0^Clr*}xJ`T>o@2Dioyzlm4XD-?;#9GnG8XGbQ7z7Lg1_6VBLBJqj5HJWB1PlTO z0fT@+;5I^F1iuyV2Z6(yS2XuEKd$*3n%_pyn4=m53<3rLgMdN6AYc$M2p9wm0tNwt zfI;AYgTTrM#eN=UxDV&t``u;zPERkP@K|c?BA6`(*rk2Hko)a+qWNo=A`TB=~y=`zOHXdm+|m zboLLY*VzM{)^}v|QbymK(Ft;T|DlY||Kq^^b@q$n7*VfuH#qw@*i^*6>Rb6pbd@j0 o3)lm%R8?a!Drj7>q*h6llKRAz(KT6Ad33PzWk4;DS|~K=9|g*?&Hw-a literal 0 HcmV?d00001 diff --git a/pointers/adv_pointer.c b/pointers/adv_pointer.c new file mode 100644 index 0000000..e87e43e --- /dev/null +++ b/pointers/adv_pointer.c @@ -0,0 +1,30 @@ +#include +#include + + +int main(void){ + int o = 1337; + + printf("Let's learn to use malloc!\n"); + int *p = malloc(sizeof(*p)); + /* We need to make sure we got the memory block*/ + if (p){ + fprintf(stdout, "Ok we got a good value from malloc we can assign a value.\n"); + } + else { + fprintf(stderr, "Well fuck this didn't work. Malloc failed"); + return 1; + } + + printf("Ok the address of o is on the stack at: %p\n", &o); + printf("*p is on the heap at: %p\n", p); + printf("Let's assign a value to p: \n"); + scanf("%d", p); + printf("We got %d\n", *p); + + printf("Freeing up the memory\nClosing program...\n"); + free(p); + p = 0; + + return 0; +} diff --git a/pointers/simple_pointer b/pointers/simple_pointer new file mode 100755 index 0000000000000000000000000000000000000000..d09d3f3bd78aeb40576f89e7df42c3c71b7d9d82 GIT binary patch literal 12644 zcmeHO&x;&I6t3Bzy%$Tzf>#?ujdsVMq zz4ul3&@^wq|Lga^?-rtPKnO7fE`iV7CBz3pLKETva0RT?#>&anw^!d-=jbREM$Lb< z80RNADpgxOQyX>B>$!2BG8?G~!<<$s@p{R=<3zkU6ocst#s&7Y(J80JPTo{1PP+AY zI5ZybLKg47%){7bK{1PWFdInYsixQJcoD|N<9(dPTg?1v6ZauaIUchz*T;*6>59*Jg&~C`0>n1w8vwlGwGG*`UzO66Dze9b$tDF zH9cLN-^jU|^UWmhH!^)Vq}16kcdWOKSA?%7EaG}Y#6NE{uU&AOm+^v>V|l^WG?tgC zS*ezz;(ogxwp1sHZX54V7KZWjdEnU^x&M@Moy0NDlldLOdSYVgq@9nqzcSTWC(lZ$ zwNs~GTRm~gJX_C>)d`#AGB}7LQ?>n=5Ifoh7w%nz9M%L|!hQ;}0*OC;PjH@#SmW$6 zem5ZR1#f^!W)EV?8b+Q&I^^h&EKY7ntGt~hcow|WjiaTOUtegYZ zXXjr!{Lx(R##dkeR(cL&60B>SpApkw>Ke;~&rBVGUIH6JZ9BT&vFC^Tz6jnOMd z{2Uebb3s1Uew=vi#bb-e%df);^dy+^d#HT~H zvvTRz>PF@A%U>da~N(Ccd>VK zFc>uXcDDC3H3r@L5n8S3$1-k)-Igoso{XHp4ckX$*_{#V@5-dCTwbhMs~{h;9?AZH!f3H>1PBAJA;2dB2z4x_%wW|(11N9c4DtVlQV1D#E_d{LhC zw>_+uP9PERs6^%ZUG`xrpuFTessKvQLy#{LF%WgW`_5uzNv~#%f_^>byd{f(MZh9p z5wHkY1S|p;0gHe|z#?D~un1TL?py>u#rFYz1o%9YS2KC%R%|P?2v`Ix0u}*_fJML} zU=gqgSOhEr76FUE{||wM$3>M@FTBd8THOq<>gW$g^ZM(NxFTZAs16#?lPy|BTHPe3 zUV + +int main(void){ + + int x; + int *p; + + /* Read it, "assign the address of x to p" */ + p = &x; + printf("This should be random: %d\n", *p); + printf("Ok the address of x is %p\n", &x); + printf("Check that p has the same value: %p\n\n", p); + + printf("Ok let's put a value in the pointer. Give me an int: \n"); + scanf("%d", p); + printf("The value you provided was %d\n", *p); + printf("Let's check x since p was a pointer to x's memory address: %d\n", x); +} diff --git a/static/Makefile b/static/Makefile new file mode 100644 index 0000000..dcc95a1 --- /dev/null +++ b/static/Makefile @@ -0,0 +1,5 @@ +all: + gcc -o eggs -Wall -O3 eggs.c + +clean: + rm -f eggs diff --git a/static/eggs b/static/eggs new file mode 100755 index 0000000000000000000000000000000000000000..c04439bc60cca30dc13e88afe58760601344b9e3 GIT binary patch literal 12636 zcmeHN&uXCDZG^)g#Um1d7ZQ zPR{g(*!g^MQk;)eOspIh3H^nz8<@r$&0#SZF1Qf-*={(UD@j)*2wSC~)0M`%=J3|L zh}e%O^f|nEJi?PXzuNGd2ukDq;_yCm0QAXwM^@x_J_wtY+N=vm+rbe6#8k5Xe4@aUw?&)92%P$lOK*xOh>zm{p;D+cz>Pc z-y4-N>=K!+C$@D}ygtNQ!6eR)h5Xz1xen%a5FJroaTKhV$_u`gR9-Q*NVO=z;(V!I zl}6ZH6|a*Q@Z!0|#kbYNpGdhF7C910I=?0l0 zjxWGxe0Ic`ldzkhlTZp{s9X#8o9)%)HE`a>+h$Dgp#9L{R?r--R!YO=#cCNo<#Qj!>EWBk^)dy(MC@(cd3 z9a%nmf2lnfV&K@VFIq5T)9pbYBTI8!#>?mJcKcMl<;@i@`rcsK^Jiy+=*VSp;i~;iZK7 za1^gkHO-O<%$8AUpa4C*01uK8)Z=Gmeop)a|9mU-QR`l0_?}k7443PdYG(g@u~IYN zuoPjfSsuXSF&|F{(6Ky_M~Q!GT9<$A=fMeJGxYl~S}!4pcl SNgYVKSPXq5EYJX|G5-TPp50Rb literal 0 HcmV?d00001 diff --git a/structs/Makefile b/structs/Makefile new file mode 100644 index 0000000..f1cb8f8 --- /dev/null +++ b/structs/Makefile @@ -0,0 +1,16 @@ +CC=gcc +CFLAGS=-Wall -O1 +PROGRAMS=pixel struct2 + +all: $(PROGRAMS) + +pixel: + $(CC) -o pixel $(CFLAGS) pixel.c + +struct2: + $(CC) -o struct2 $(CFLAGS) struct2.c + +clean: + rm -f $(PROGRAMS) + +.PHONY=clean diff --git a/structs/pixel b/structs/pixel new file mode 100755 index 0000000000000000000000000000000000000000..f7341f10786557943b88ab000ef6cec3c523a658 GIT binary patch literal 12644 zcmeHNO=w(I6h4!rHOA041u2TgK7U3gH6$ho{eePW&EOPc8JH=q6LaYbPno^#-;)Ra!c&$Sy2Fsrr7sfrIJA+myRI1@M^Nro9 zc)VklAFtnd1UT5xYvP6ZaXhu;mTPVuPVsmrOuVN|0LIMwuI$OLP^~n=g5&YtF!2KV z7)R>e4eSq;Dm1)$sj_J1adJ_j40($^>B? zkI@;Q-;)n@oC#;vQO}=0H{-u8C@}J#1O*$*?=LI+@RU-E)sQvD_m0;KUoF_g`vc+6 zvolZ5YYXbf3A|wKSYE(dVtECzlq%;`V|6)SEvuSW|JQhCyN=(P7rv{JJe4Zuyqq}` zCZ1o?_VWwsWZW4q-06?P@B8H0b1!Bl&id>VJsYbNn5C#c6o1VO_52e=E$xB_pWO@l zkY4d0Hn5H1IP5qq^TX@!0dtN0qeOGC4?w4&EF7Pe^XGT`zv}oCark#5F8Ddn=koV? zq}iyCluP-M;%d2Q93O$@Jifm9#W&Z^oNRw`@yo+lb4HKgq*~{N0Uvpl+ zw0#nAVc0tQ4lF#6P7v|=R{FpN;BVV49QbCt-Npo#%)~qN611+1O=k*{Gi zd1c@h2F^@7^%daNC7#^=4Zcf!#oYb{Bc8&o(INU6>dRDV#Vy;D)k4lIRVy@iDmAt+ zWWUO$kNm|#wOp-JeKDU-6^CqJ2m7#{@0*XBIGvX7k^Fb=bFi$>m^&wr`HtL=o92W1 zwn>Q=FeLFfb#XWmVL%uV2801&Ko}4PgaKhd7!U@80bxKG*ar+`&Hrbojok+&ONqjO zFdz&F1HynXAPfit!hkR!3A#4rE1*pKx50fQiYClr$RTi2Ke!q z4$vBC={|%k(4qU$<7)eT4(w?qbgPB#dpM#oKf*o;3p;~;f9{6`-0f*V`)~vwkKrC* o?hocZ?_g}BdwOpjN~i8~V5$iS@u}ED9D1^uOVs~X&O?97KSi%1`2YX_ literal 0 HcmV?d00001 diff --git a/structs/struct2 b/structs/struct2 new file mode 100755 index 0000000000000000000000000000000000000000..453e56bea34292ba885416dbb161f405ec6c3f89 GIT binary patch literal 12556 zcmeHN&1(};5Pzw))>@kMB7U=eM68N!MX@M~QG*przr`ZRGilZ)kftTO(dO2R2M{QCZTn^K7_ zN~tz*3Out_sYlAeNU7c6VX)TYnd{j**~u|lTPe}1{#9d~PjJ+FIy*Dn>Jr?~g`;G2 zq@pZyT5I23^4A^X@lr_?gXxTMq29jkPGvc&YVG;8yw^0v<4u})9md1z_J&Rq&(4SO zbkQv@x>Y#E((Q&fvIL0ZkrDLd{arpltN?dmc%sJ+tC?rsBVm%k+GgbF|cmC9sQ^>27hZE>1 znDOtSF5=l|bmAo>2nYg#fFK|U2m*qDAn^YnaBKMSm*FQDZzH2sp7#dduAP9eCca9- z#M2;5w;)z|x`T;_;K8?d->o##&vEb@d9wcnL}sdyeukNqA};FN*G8k^6&I@hdFNQV z(C6gqzUy_VQYB`2^Z33Nz+`2ArgIEjJn-)DaV p)aIv&BQc$Q4Q$4sbkIe;F&`b|V{_k79U8G&FiLxn^Ib$y>JNxq(tZE{ literal 0 HcmV?d00001