=====
gcc mycode.c
c++ mycode.c++
gcc mycode.cpp -lstdc++
If c++ file does not have the main function (declared in another file), instead of:
c++ mycode.cpp
Try:
g++ -c mycode.cpp
g++ -c codethathasmain.cpp
Link with
g++ -omy_program codethathasmain.o mycode.o
C#
Unlike C++, there are no object (.obj) files created as a result of invoking the C# compiler Output files are created directly, so the C# compiler does not need a linker.
csc File.cs (=> File.exe) csc /out:MyFile.exe File.cs (=> MyFile.exe)
to create dll (dynamically linked library): csc /target:library File.cs
-
Blaze - high-performance C++ math library
-
Eigen - C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms
-
STX - collection of libraries and utilities designed to make working with C++ easier and less error-prone; source code
===
- compile C#/C++ faster
- a history of C compilers
- Hello World
- Compiler Explorer
- C compiler that used Excel
- understanding Objective-C by transpiling it to C++
- awk to C compiler
- xmake - build utility
- virtual machine that runs C in the browser
- Single Instruction C compiler
- High Performance Garbage Collector
- C++23: Removing garbage collection support
- A garbage collector for C and C++
- C++ for Android and iOS development
- Intro to pointers
- So you think you know C?
- Memory Leak-Proof every C program
- C can be memory safe
- Cake - C23 and Beyond - towards memory safety
- C and C++.i - no memory safety? - White house, FEBRUARY 2024
- Implementing a class with a void *
- Obfuscation tricks
- Defining C macros
- Cling - an interactive C++ interpreter
- Blogging Engine in C
- Neco - C library that provides concurrency using coroutines
- C++17 parallel algorithms and HIPSTDPAR
=== Creating dynamically sized arrays at run-time is done using std::vector
//sizeof(i) returns the amount of memory (in bytes) for the variable or type i //sizeof an array is the distance between elements of that array
- Box2D - 2D physics engine for games
- script video games
- NasNas - C++ game framework
- Particle Life - simulate artificial life using attraction/reuplsion forces between many particles
- Liquid Fun - 2D rigid-body and fluid simulation libraries based on Box2D
- Undefined Behavior in C and C++
Standard C++ Library reference
Castor - C++ library to code a la Matlab
Libraries for server applications from MEta/FB
[c++ web toolkit](https://www.webtoolkit.eu/wt/)
[A little Web Server in C](https://github.com/robdelacruz/lkwebserver)
[Blogtech](https://github.com/cozis/blogtech) - minimal web server designed to host a blog
- Essential C (https://cslibrary.stanford.edu/101/) Explains the basic features of the C programming language.
- Pointers and Memory (https://cslibrary.stanford.edu/102/) Explains how pointers and memory work in C and other languages. Starts with the very basics, and extends through advanced topics such as reference parameters and heap management.
(Hunting a memory leak](https://medium.com/zendesk-engineering/hunting-down-a-c-memory-leak-in-a-go-program-2d08b24b617d )
unrecognized command line option "-std=gnu++0x" GCC 4.2 is ancient, but Apple don't ship a newer version.
You can either install a modern GCC from somewhere like Mac Ports (which is probably simpler and quicker) or build it yourself following the instructions at https://gcc.gnu.org/wiki/InstallingGCC brew tap homebrew/versions && brew install gcc48
Basic Data Structures:
-
LINKED LISTS
-
BINARY TREES
- Binary Tree basics (https://cslibrary.stanford.edu/110/)
- The Great Tree List Problem (https://cslibrary.stanford.edu/109/)
Representing Heterogenous Data
Structures in C: From Basics to Memory Alignment
Sort | Worst Case | Average Case | Best Caase |
---|---|---|---|
Bogo | O((n+1)!) | O((n+1)!) | O(n) |
Bubble | O(n2) | O(n2) | O(n) |
Cocktail Shaker | O(n2) | O(n2) | O(n) |
Selection | O(n2) | O(n2) | O(n2) |
Gnome | O(n2) | O(n2) | O(n2) |
Comb | O(n2) | O(nlogn) | O(nlogn) |
Insertion | O(n2) | O(n2) | O(n) |
Shell | O(n(log(n))2) | O(n(log(n))2) | O(nlogn) |
Merge Sort | O(nlogn) | O(nlogn) | O(nlogn) |
Quick Sort | O(n2) | O(nlogn) | O(nlogn) |
Heap Sort | O(nlogn) | O(nlogn) | O(nlogn) |
+use malloc to dynamically allocate memory, and free to deallocate it. +malloc takes a count of bytes and returns a void pointer
- Stroustrup's "The C++ Programming Language"
- C++ video lectures
- Teach yourself programming
- Recommendations about coding in C++: pay attention
- C++ Coding Standards
- Circle - the C++ automation language
-
Tour of C++ (https://www.stroustrup.com/Tour.html)
-
Principles and Practice Using C++ (https://www.stroustrup.com/programming.html)
-
From Mathematics to Generic Programming (https://www.fm2gp.com/)
-
The Scott Meyers books
-
Some of the Bjarne Stroustrup videos: "Learning and Teaching Modern C++" - https://www.youtube.com/watch?v=fX2W3nNjJIo
-
Some of the Herb Sutter videos: "Writing Good C++14... By Default" - https://www.youtube.com/watch?v=hEx5DNLWGgA
-
"Back to the Basics! Essentials of Modern C++ Style" - https://www.youtube.com/watch?v=xnqTKD8uD64
-
Some of the Kate Gregory videos,"Stop Teaching C" - https://www.youtube.com/watch?v=YnWhqhNdYyk
-
"10 Core Guidelines You Need to Start Using Now" - https://www.youtube.com/watch?v=XkDEzfpdcSg
-
"It's Complicated" - https://www.youtube.com/watch?v=tTexD26jIN4
-
Checked C - adds static and dynamic checking to C to detect or prevent common programming errors such as buffer overruns and out-of-bounds memory accesses
-
runewordCalculator - for Diablo gamers
-
[Beating NumPy's matrix multiplication in 150 lines of C code](Beating NumPy's matrix multiplication in 150 lines of C code)
Open source physics simulator for robotics + C API + https://deepmind.com/blog/announcements/mujoco
-
CADseer - CAD desktop app
-
libgrapheme - utilities for properly handling strings
-
[A Tutorial on Pointers and Arrays in C:] (https://home.netcom.com/%7Etjensen/ptr/pointers.htm)
-
mle - small, flexible, terminal-based text editor
-
[Right-left Rule:] (https://ieng9.ucsd.edu/~cs30x/rt_lt.rule.html)
-
Top 21 C++ Library Pairings Every Developer Must Know - youtube
-
lager, a C++ library to assist value-oriented design by implementing the unidirectional data-flow architecture; github
-
TOML++ - parser and serializer
-
Circle - C++ compiler
-
Inline and sideline approaches for low-cost memory safety in C
-
Orca - audio-visual live coding
-
PlotJuggler - time seeries visualization
-
Implot - GPU plotting library
-
Maco - full bitcoin implementation
-
Terminal File Manager; see also vifm
-
olive - graphics lib with no dependencies
-
C++ overtakes Java in popularity : Dec 2022
-
XHTTP: - An HTTP server library in a single C file
-
Little - statically typed, C-like scripting language.
-
Cinder - a C++ library for programming with aesthetic intent
-
darkhttpd - an http server in a single .c file
-
Safety vs Performance - A case study of C, C++ and Rust sort implementations.
-
Miraclecast - Wifi-Display
-
C++Builder 11 Community Edition
-
RR - C/C++ debugging tool for Linux
rem - remember everything calling Haskell from Swift
Embedded Swift for Raspberry Pi AttributeGrap, used internally by SwiftUI
DescPad - A virtual monitor for screen sharing
https://github.com/hoglet67/RGBtoHDMI https://stardot.org.uk/forums/viewtopic.php?f=3&t=14430 https://joetruncale.medium.com/thermos-d089e1c4974b https://github.com/gerrito333/mousehunter-edge/blob/master/README.md https://www.skyatnightmagazine.com/advice/diy/raspberry-pi-meteor-detector/ https://magpi.raspberrypi.org/articles/build-a-magic-mirror https://tinypilotkvm.com
You can't buy a Raspberry Pi right now - Oct 3, 2022 Cray vs Raspberry Pi Un LLM en un Raspberry Pi