Загрузка...

Live study: learn C programming language by building our own lisp (Part 92)

I want to learn about C programming language, and i found a book called "Build Your Own Lisp". So let's explore it together and see how it goes!

References:
- https://www.buildyourownlisp.com/
- https://c-faq.com/
- https://stackoverflow.com/a/76127046 (gcc -save-temps)
- https://stackoverflow.com/a/466811 (machine code, object code, assembly code)
- https://www.cprogramming.com/tutorial/c-tutorial.html
- https://en.cppreference.com/w/c.html
- https://stackoverflow.com/a/612350 (typedef struct)
- https://www.kernel.org/doc/html/v4.10/process/coding-style.html
- https://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf
- https://stackoverflow.com/a/83763 (C99 draft standard pdf)
- https://stackoverflow.com/a/4978088 (C char array assignment and initialization)
- https://stackoverflow.com/a/26129896 (lvalue and rvalue in C)
- https://stackoverflow.com/a/1691818 (stack grow upward or downward)
- https://stackoverflow.com/q/38792542 (readline.h history usage in C)
- https://tiswww.case.edu/php/chet/readline/history.html (GNU history library)
- https://stackoverflow.com/a/67520047 (Implement strcmp() manually)
- https://softwareengineering.stackexchange.com/a/204720 (Consideration using const in C)
- https://github.com/PacktPublishing/Learn-C-Programming
- https://github.com/theokwebb/C-from-Scratch
- https://stackoverflow.com/q/40002185 (Char pointers and the printf function)
- https://sourceware.org/glibc/manual/latest/html_node/index.html
- https://www.learnc.net/c-tutorial/c-character-type/
- https://community.particle.io/t/best-practices-with-c-strings-char-a-vs-char-b/59639/8
- https://stackoverflow.com/a/30662565 (Check where string literals stored).
- https://stackoverflow.com/q/1685483 (Examine contents of data section in ELF file).
- https://stackoverflow.com/q/440331 (The reason we can change value of const char *variable).
- https://stackoverflow.com/a/162615 (Trick to read declaration backward).
- https://c-faq.com/decl/spiral.anderson.html (Clockwise/spiral rule).
- https://cs50.stackexchange.com/a/22089 (Difference between macros and global variable).
- https://publications.gbdirect.co.uk//c_book/chapter8/const_and_volatile.html (const and volatile explanation).
- https://github.com/orangeduck/mpc (Micro Parser Combinators).
- https://youtu.be/2htbIR2QpaM?si=CbcBjQ1NvKiZRRoR (Memory segments in C/C++).
- https://chessman7.substack.com/p/understanding-the-bss-segment-in
- https://youtu.be/vc79sJ9VOqk?si=EXR-UUisqKv93PbK (History about virtual memory).
- https://stackoverflow.com/q/668962 (The difference between -ggdb and -g in gcc).
- https://stackoverflow.com/q/10036381 (Arrow operator vs dot operator).
- https://www.kernel.org/doc/html/latest/process/programming-language.html (linux kernel compiler standard).
- https://www.cs.virginia.edu/~evans/cs216/guides/x86.html (x86 assembly guide).
- http://wiki.osdev.org/Inline_Assembly (Embedded assembler in C).
- https://stackoverflow.com/questions/21057393/what-does-double-free-mean (Explanation about double free error).
- https://www.joelonsoftware.com/2001/12/11/back-to-basics/
- https://web.archive.org/web/20020124201826/http://www-ee.eng.hawaii.edu/Courses/EE150/Book/chap7/subsection2.1.1.2.html (character strings as arrays).
- https://stackoverflow.com/q/1538420 (difference between malloc and calloc).
- https://pvs-studio.com/en/blog/posts/cpp/a0050/ (About size_t and ptrdiff_t).
- https://pvs-studio.com/en/blog/lessons/ (Developing 64-bit app course).
- https://phrack.org/issues/60/10 (Basic integer overflow).
- https://www.kernel.org/doc/html/v5.0/core-api/memory-allocation.html (Linux kernel memory allocation guide).
- http://www.fefe.de/intof.html (Catching integer overflow in C).
- http://www.cs.columbia.edu/~ecj2122/research/gcc_string_literals/gcc_string_literals.pdf (GCC string literals paper).
- https://cgi.cse.unsw.edu.au/~learn/debugging/modules/all_gdb/ (GDB tutorial).
- https://wiki.archlinux.org/title/Core_dump (Arch linux core dump).
- https://software.codidact.com/posts/285050 (static keyword explaination).
- https://www.reddit.com/r/learnprogramming/comments/z6fov3/comment/iy1oi1d/ (Implementation of C library).
- https://www.baeldung.com/linux/a-so-extension-files (archive and shared object).
- https://dev.to/iamkhalil42/all-you-need-to-know-about-c-static-libraries-1o0b (Build static library).
- https://cs.gmu.edu/~kauffman/cs222/stack-demo.html
- https://unix.stackexchange.com/a/280865 (Virtual stack size).
- https://ftp.gnu.org/old-gnu/Manuals/glibc-2.2.3/html_chapter/libc_3.html (GCC virtual memory).
- https://bottomupcs.com/index.html
- https://github.com/zedtran/VirtualMemoryManagementSim
- https://www.dirac.org/linux/gdb/04-Breakpoints_And_Watchpoints.php
- https://rr-project.org/
- https://cdecl.org/
- https://cseweb.ucsd.edu/~ricko/rt_lt.rule.html (right-left rule).
- https://cplusplus.com/doc/tutorial/pointers/
- https://youtu.be/f_uWOWViYc0?t=413 (Function pointer).
- https://boredzo.org/pointers/

Видео Live study: learn C programming language by building our own lisp (Part 92) канала Bruhtus Null
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять