diff options
-rw-r--r-- | src/c/__Makefile__ | 30 | ||||
-rwxr-xr-x | src/c/bit-shift/shift (renamed from src/c/shift) | bin | 15672 -> 15672 bytes | |||
-rw-r--r-- | src/c/bit-shift/shift.c (renamed from src/c/shift.c) | 0 | ||||
-rw-r--r-- | src/c/copyfile/Makefile | 23 | ||||
-rwxr-xr-x | src/c/copyfile/cf (renamed from src/c/main) | bin | 15552 -> 15568 bytes | |||
-rwxr-xr-x | src/c/copyfile/cf-ng | bin | 0 -> 15816 bytes | |||
-rw-r--r-- | src/c/copyfile/cf-ng.c | 39 | ||||
-rw-r--r-- | src/c/copyfile/cf.c | 15 | ||||
-rw-r--r-- | src/c/hello-c/hello.c (renamed from src/c/main2.c) | 0 | ||||
-rwxr-xr-x | src/c/list-dir/dir (renamed from src/c/dir) | bin | 15624 -> 15624 bytes | |||
-rw-r--r-- | src/c/list-dir/dir.c (renamed from src/c/dir.c) | 0 | ||||
-rw-r--r-- | src/c/makefile/Makefile | 16 | ||||
-rwxr-xr-x | src/c/makefile/main (renamed from src/c/main2) | bin | 15416 -> 15440 bytes | |||
-rw-r--r-- | src/c/makefile/main.c | 8 | ||||
-rw-r--r-- | src/c/pointer-example/pointer_example.c (renamed from src/c/main.c) | 0 | ||||
-rwxr-xr-x | src/c/temp-converter/ctof (renamed from src/c/ctof) | bin | 15648 -> 15648 bytes | |||
-rw-r--r-- | src/c/temp-converter/ctof.c (renamed from src/c/ctof.c) | 0 |
17 files changed, 131 insertions, 0 deletions
diff --git a/src/c/__Makefile__ b/src/c/__Makefile__ new file mode 100644 index 0000000..d6e2bf1 --- /dev/null +++ b/src/c/__Makefile__ @@ -0,0 +1,30 @@ +# Minimal Makefile to compile main.c into an executable named main + +# Compiler +CC = gcc + + +# Flags +CFLAGS = -Wall -Wextra -O2 + + +# Default target +# Tells make what dependencies to compile +all: main + + +# Dependency 'main' +# main.c is the source file +main: main.c + $(CC) $(CFLAGS) -o main main.c + + +# Test target +test: main + @echo -n "main.c test............................" + @./main >/dev/null 2>&1 && echo "OK" || echo "FAILED" + + +# Clean target +clean: + rm -f main diff --git a/src/c/shift b/src/c/bit-shift/shift Binary files differindex 6429b03..6429b03 100755 --- a/src/c/shift +++ b/src/c/bit-shift/shift diff --git a/src/c/shift.c b/src/c/bit-shift/shift.c index c65b815..c65b815 100644 --- a/src/c/shift.c +++ b/src/c/bit-shift/shift.c diff --git a/src/c/copyfile/Makefile b/src/c/copyfile/Makefile new file mode 100644 index 0000000..7cf5b87 --- /dev/null +++ b/src/c/copyfile/Makefile @@ -0,0 +1,23 @@ +CC = /usr/bin/gcc +FLAGS = -Wall -Wextra -O2 + +all: cf cf-ng + +cf: cf.c + $(CC) $(FLAGS) -o cf cf.c + +cf-ng: cf-ng.c + $(CC) $(FLAGS) -o cf-ng cf-ng.c + +test-cf: cf + @echo -n "cf.c test.............................." + @./cf >/dev/null 2>&1 && echo "OK" || echo "FAILED" + +test-cf-ng: cf-ng + @echo -n "cf-ng.c test.............................." + @./cf-ng >/dev/null 2>&1 && echo "OK" || echo "FAILED" + + +clean: + rm -v -f cf cf-ng + diff --git a/src/c/main b/src/c/copyfile/cf Binary files differindex 37336e8..be2b986 100755 --- a/src/c/main +++ b/src/c/copyfile/cf diff --git a/src/c/copyfile/cf-ng b/src/c/copyfile/cf-ng Binary files differnew file mode 100755 index 0000000..35331e9 --- /dev/null +++ b/src/c/copyfile/cf-ng diff --git a/src/c/copyfile/cf-ng.c b/src/c/copyfile/cf-ng.c new file mode 100644 index 0000000..8ff770a --- /dev/null +++ b/src/c/copyfile/cf-ng.c @@ -0,0 +1,39 @@ +#include <stdio.h> +#include <stdlib.h> + +int main() { + int c; + size_t size = 1024; // initial buffer size + size_t len = 0; + char *buffer = malloc(size); + if (!buffer) { + perror("malloc"); + return 1; + } + + printf("Type input (Ctrl+D to end):\n"); + + while ((c = getchar()) != EOF) { + // Resize buffer if needed + if (len + 1 >= size) { + size *= 2; + char *tmp = realloc(buffer, size); + if (!tmp) { + free(buffer); + perror("realloc"); + return 1; + } + buffer = tmp; + } + + buffer[len++] = (char)c; + } + + // Null-terminate string + buffer[len] = '\0'; + + printf("\nYou typed:\n%s\n", buffer); + + free(buffer); + return 0; +} diff --git a/src/c/copyfile/cf.c b/src/c/copyfile/cf.c new file mode 100644 index 0000000..ff6b41a --- /dev/null +++ b/src/c/copyfile/cf.c @@ -0,0 +1,15 @@ +#include <stdio.h> +/* copy input to output; 2nd version */ + +int +main() +{ + int c; + + while ((c = getchar()) != EOF) + { + putchar(c); + } + + return 0; +} diff --git a/src/c/main2.c b/src/c/hello-c/hello.c index c63efdb..c63efdb 100644 --- a/src/c/main2.c +++ b/src/c/hello-c/hello.c diff --git a/src/c/dir b/src/c/list-dir/dir Binary files differindex 7757a29..7757a29 100755 --- a/src/c/dir +++ b/src/c/list-dir/dir diff --git a/src/c/dir.c b/src/c/list-dir/dir.c index 05803fd..05803fd 100644 --- a/src/c/dir.c +++ b/src/c/list-dir/dir.c diff --git a/src/c/makefile/Makefile b/src/c/makefile/Makefile new file mode 100644 index 0000000..e7d3f1d --- /dev/null +++ b/src/c/makefile/Makefile @@ -0,0 +1,16 @@ +# Minimal Makefile to compile main.c into an executable named main + +CC = gcc +CFLAGS = -Wall -Wextra -O2 + +all: main + +main: main.c + $(CC) $(CFLAGS) -o main main.c + +test: main + @echo -n "main.c test............................" + @./main >/dev/null 2>&1 && echo "OK" || echo "FAILED" + +clean: + rm -f main diff --git a/src/c/main2 b/src/c/makefile/main Binary files differindex c35260e..8d130a1 100755 --- a/src/c/main2 +++ b/src/c/makefile/main diff --git a/src/c/makefile/main.c b/src/c/makefile/main.c new file mode 100644 index 0000000..e0d7aba --- /dev/null +++ b/src/c/makefile/main.c @@ -0,0 +1,8 @@ +#include <stdio.h> + +int +main() +{ + printf("Hello, Makefile!\n"); + return 0; +} diff --git a/src/c/main.c b/src/c/pointer-example/pointer_example.c index 30d5c61..30d5c61 100644 --- a/src/c/main.c +++ b/src/c/pointer-example/pointer_example.c diff --git a/src/c/ctof b/src/c/temp-converter/ctof Binary files differindex 7a47ff7..7a47ff7 100755 --- a/src/c/ctof +++ b/src/c/temp-converter/ctof diff --git a/src/c/ctof.c b/src/c/temp-converter/ctof.c index e61cfcd..e61cfcd 100644 --- a/src/c/ctof.c +++ b/src/c/temp-converter/ctof.c |