diff options
author | Eduardo Julian | 2022-07-26 18:08:04 -0400 |
---|---|---|
committer | Eduardo Julian | 2022-07-26 18:08:04 -0400 |
commit | feacd79496ae9c76492d5a12d30b78724b642654 (patch) | |
tree | a85708d1bfe43a98ba62b7f8589dcc95a71f86f5 /documentation/bookmark/compilation | |
parent | dec796a9838e39148c007f3f3d360964d7cb68de (diff) |
Made inlined functions into first-class macros.
Diffstat (limited to '')
-rw-r--r-- | documentation/bookmark/compilation/target/c++.md | 93 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/c.md (renamed from documentation/bookmark/back_end/c.md) | 4 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/clr.md | 5 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/go.md (renamed from documentation/bookmark/back_end/go.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/godot.md (renamed from documentation/bookmark/back_end/Godot.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/graal.md (renamed from documentation/bookmark/back_end/graal.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/haskell.md (renamed from documentation/bookmark/back_end/haskell.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/haxe.md (renamed from documentation/bookmark/back_end/haxe.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/js.md | 5 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/js__javascript.md | 14 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/llvm.md (renamed from documentation/bookmark/back_end/llvm.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/micro_controller.md (renamed from documentation/bookmark/back_end/micro_controller.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/native.md (renamed from documentation/bookmark/back_end/native.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/python.md (renamed from documentation/bookmark/back_end/python.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/rust.md (renamed from documentation/bookmark/back_end/rust.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/scopes.md (renamed from documentation/bookmark/back_end/scopes.md) | 0 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/wasm.md (renamed from documentation/bookmark/back_end/wasm.md) | 6 | ||||
-rw-r--r-- | documentation/bookmark/compilation/target/wren.md (renamed from documentation/bookmark/back_end/wren.md) | 0 |
18 files changed, 122 insertions, 5 deletions
diff --git a/documentation/bookmark/compilation/target/c++.md b/documentation/bookmark/compilation/target/c++.md index d62ed0141..40625b60e 100644 --- a/documentation/bookmark/compilation/target/c++.md +++ b/documentation/bookmark/compilation/target/c++.md @@ -1,5 +1,98 @@ +# Memory management + +0. []() +0. [Memory and Performance Overhead of Smart Pointers](https://www.modernescpp.com/index.php/memory-and-performance-overhead-of-smart-pointer) +0. [](https://coderedirect.com/questions/464444/c-atomic-cascompare-and-swap-operation-does-not-change-value) +0. [C++ Shared_Ptr implementation](https://codereview.stackexchange.com/questions/254279/c-shared-ptr-implementation) +0. [C++: shared_ptr and how to write your own](https://medium.com/analytics-vidhya/c-shared-ptr-and-how-to-write-your-own-d0d385c118ad) +0. [How to implement user defined Shared Pointers in C++](https://www.geeksforgeeks.org/how-to-implement-user-defined-shared-pointers-in-c/) +0. [](https://en.cppreference.com/w/cpp/memory/shared_ptr) +0. [smart pointers](https://en.cppreference.com/book/intro/smart_pointers) +0. [](https://en.cppreference.com/w/cpp/numeric/bit_cast) +0. [reinterpret_cast conversion](https://en.cppreference.com/w/cpp/language/reinterpret_cast) +0. [Alternatives to std::atomic_ref](https://stackoverflow.com/questions/67620813/alternatives-to-stdatomic-ref) +0. [std::atomic_ref is awesome](https://www.reddit.com/r/cpp/comments/i8ckxr/stdatomic_ref_is_awesome/) +0. [](https://en.cppreference.com/w/cpp/atomic/atomic_ref) + +# Optimization + +0. []() +0. [Copy Elision](https://www.youtube.com/watch?v=_zZWUZEwXk8) +0. [C and C++ coding style for best performance](https://www.ibm.com/docs/en/aix/7.1?topic=implementation-c-c-coding-style-best-performance) + # Reference 0. []() +0. [C++ keywords: noexcept (since C++11)](https://en.cppreference.com/w/cpp/keyword/noexcept) +0. [alignas specifier (since C++11)](https://en.cppreference.com/w/cpp/language/alignas) +0. [Perfect Forwarding](https://www.modernescpp.com/index.php/perfect-forwarding) 0. [C++ Tips of the Week](https://abseil.io/tips/) +0. [Constant references are not always your friends](https://belaycpp.com/2022/02/15/constant-references-are-not-always-your-friends/) +0. [Unionizing for Profit: How to Exploit the Power of Unions in C++](https://dev-discuss.pytorch.org/t/unionizing-for-profit-how-to-exploit-the-power-of-unions-in-c/444) +0. [std::any: How, when, and why](https://devblogs.microsoft.com/cppblog/stdany-how-when-and-why/) +0. [Using C Libraries in your Modern C++ Embedded Project - Michael Caisse - CppCon 2021](https://www.youtube.com/watch?v=Ototzy-nP4M) +0. [In-memory and Persistent Representations of C++ - Gabriel Dos Reis - CppCon 2021](https://www.youtube.com/watch?v=39wlNRk-nAg) +0. [Back to Basics: const and constexpr - Rainer Grimm - CppCon 2021](https://www.youtube.com/watch?v=tA6LbPyYdco) +0. [Misra Parallelism Safety-critical Guidelines for C++11, 17, Then C++20, 23 - CppCon 2021](https://www.youtube.com/watch?v=hVv7Nc3f4Jo) +0. [Back to Basics: Move Semantics - Nicolai Josuttis - CppCon 2021](https://www.youtube.com/watch?v=Bt3zcJZIalk) +0. [Type-and-resource Safety in Modern C++ - Bjarne Stroustrup - CppCon 2021](https://www.youtube.com/watch?v=l3rvjWfBzZI) +0. [Exceptional C++ - Victor Ciura - CppCon 2021](https://www.youtube.com/watch?v=SjlfhyZn2yA) + +# Undefined behavior + +0. []() +0. [INT32-C. Ensure that operations on signed integers do not result in overflow](https://wiki.sei.cmu.edu/confluence/display/c/INT32-C.+Ensure+that+operations+on+signed+integers+do+not+result+in+overflow) +0. [Integer overflow](https://en.wikipedia.org/wiki/Integer_overflow#Handling) +0. [Back To Basics: Undefined Behavior - Ansel Sermersheim & Barbara Geller - CppCon 2021](https://www.youtube.com/watch?v=NpL9YnxnOqM) + +# Dependency management + +0. []() +0. [vcpkg](https://vcpkg.io/en/index.html) + +# constexpr + +0. []() +0. [Your New Mental Model of constexpr - Jason Turner - CppCon 2021](https://www.youtube.com/watch?v=MdrfPSUtMVM) + +# String + +0. []() +0. [CsString (intro to unicode)](https://www.youtube.com/watch?v=nYzi0-VAXQM) +0. [CsString (library design)](https://www.youtube.com/watch?v=w_kD-qAkoH0) +0. [char8_t](https://www.youtube.com/watch?v=vOOLXvu-xtU) +0. [std::u32string](https://www.cplusplus.com/reference/string/u32string/) + +# Variadic functions + +0. []() +0. [Variadic functions](https://en.cppreference.com/w/cpp/utility/variadic) +0. [Parameter pack](https://en.cppreference.com/w/cpp/language/parameter_pack) +0. [va_start](https://www.cplusplus.com/reference/cstdarg/va_start/) + +# Multi-threading + +0. []() +0. [std::thread](https://en.cppreference.com/w/cpp/thread/thread) +0. [std::thread::hardware_concurrency](https://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency) +0. [std::atomic](https://en.cppreference.com/w/cpp/atomic/atomic) +0. [std::atomic::compare_exchange_strong](https://www.cplusplus.com/reference/atomic/atomic/compare_exchange_strong/) + +# Interpreter + +0. []() +0. [Clasp — Bringing Common Lisp and C++ Together](https://github.com/clasp-developers/clasp) +0. [Cling](https://root.cern/cling/) +0. [Interactive C++ with Cling](https://blog.llvm.org/posts/2020-11-30-interactive-cpp-with-cling/) +0. [Cling Transitions to LLVM's Clang-Repl](https://root.cern/blog/cling-in-llvm/) +0. [cppyy: Automatic Python-C++ bindings](https://cppyy.readthedocs.io/en/latest/index.html) + +# Cross-compilation + +0. []() +0. [Cross compiling Windows binaries from Linux](https://jake-shadle.github.io/xwin/) +0. [Clang C++ Cross Compiler - Generating Windows Executable from Mac OS X](https://stackoverflow.com/questions/23248989/clang-c-cross-compiler-generating-windows-executable-from-mac-os-x) +0. [The Clang Universal Driver Project](https://clang.llvm.org/UniversalDriver.html) +0. [Cross-compilation using Clang](https://clang.llvm.org/docs/CrossCompilation.html) +0. [Wclang: Cross compile source code easily for Windows with clang on Linux/Unix](https://github.com/tpoechtrager/wclang) diff --git a/documentation/bookmark/back_end/c.md b/documentation/bookmark/compilation/target/c.md index 73383e848..81fc2960d 100644 --- a/documentation/bookmark/back_end/c.md +++ b/documentation/bookmark/compilation/target/c.md @@ -1,5 +1,9 @@ # Reference +0. []() +0. [](https://github.com/MichaelMiR01/tcc4tcl) + 0. [](https://github.com/tcllab/tcc4tcl) + 0. [](https://github.com/cyanogilvie/tcc4tcl) 0. [Quirks of C](https://gist.github.com/fay59/5ccbe684e6e56a7df8815c3486568f01) 0. [C Isn't A Programming Language Anymore](https://gankra.github.io/blah/c-isnt-a-language/) 0. [Functional C](https://ris.utwente.nl/ws/portalfiles/portal/5128727/book.pdf) diff --git a/documentation/bookmark/compilation/target/clr.md b/documentation/bookmark/compilation/target/clr.md new file mode 100644 index 000000000..f6e244f9a --- /dev/null +++ b/documentation/bookmark/compilation/target/clr.md @@ -0,0 +1,5 @@ +# Reference + +0. []() +0. [Turbocharged: Writing High-Performance C# and .NET Code](https://www.youtube.com/watch?v=bhq1dzQzJ0E) + diff --git a/documentation/bookmark/back_end/go.md b/documentation/bookmark/compilation/target/go.md index 6d25fd45d..6d25fd45d 100644 --- a/documentation/bookmark/back_end/go.md +++ b/documentation/bookmark/compilation/target/go.md diff --git a/documentation/bookmark/back_end/Godot.md b/documentation/bookmark/compilation/target/godot.md index 354e87e96..354e87e96 100644 --- a/documentation/bookmark/back_end/Godot.md +++ b/documentation/bookmark/compilation/target/godot.md diff --git a/documentation/bookmark/back_end/graal.md b/documentation/bookmark/compilation/target/graal.md index bd91d9218..bd91d9218 100644 --- a/documentation/bookmark/back_end/graal.md +++ b/documentation/bookmark/compilation/target/graal.md diff --git a/documentation/bookmark/back_end/haskell.md b/documentation/bookmark/compilation/target/haskell.md index b54c23945..b54c23945 100644 --- a/documentation/bookmark/back_end/haskell.md +++ b/documentation/bookmark/compilation/target/haskell.md diff --git a/documentation/bookmark/back_end/haxe.md b/documentation/bookmark/compilation/target/haxe.md index d9aa29d2d..d9aa29d2d 100644 --- a/documentation/bookmark/back_end/haxe.md +++ b/documentation/bookmark/compilation/target/haxe.md diff --git a/documentation/bookmark/compilation/target/js.md b/documentation/bookmark/compilation/target/js.md deleted file mode 100644 index b6ea6916e..000000000 --- a/documentation/bookmark/compilation/target/js.md +++ /dev/null @@ -1,5 +0,0 @@ -# Reference - -0. [How JavaScript Array Works Internally?](https://blog.gauravthakur.in/how-javascript-array-works-internally) -0. [Maybe you don't need Rust and WASM to speed up your JS ](https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-rust-to-speed-up-your-js.html) - diff --git a/documentation/bookmark/compilation/target/js__javascript.md b/documentation/bookmark/compilation/target/js__javascript.md new file mode 100644 index 000000000..e345bf4c4 --- /dev/null +++ b/documentation/bookmark/compilation/target/js__javascript.md @@ -0,0 +1,14 @@ +# Reference + +0. [How JavaScript Array Works Internally?](https://blog.gauravthakur.in/how-javascript-array-works-internally) +0. [Maybe you don't need Rust and WASM to speed up your JS ](https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-rust-to-speed-up-your-js.html) + +# Debugging + +0. [The JavaScript Self-Profiling API](https://addyosmani.com/blog/js-self-profiling/) + +# Number + +0. [BigInt: arbitrary-precision integers in JavaScript](https://v8.dev/features/bigint) +0. [WebAssembly integration with JavaScript BigInt](https://v8.dev/features/wasm-bigint) + diff --git a/documentation/bookmark/back_end/llvm.md b/documentation/bookmark/compilation/target/llvm.md index 55a99f6e8..55a99f6e8 100644 --- a/documentation/bookmark/back_end/llvm.md +++ b/documentation/bookmark/compilation/target/llvm.md diff --git a/documentation/bookmark/back_end/micro_controller.md b/documentation/bookmark/compilation/target/micro_controller.md index 2681cbf67..2681cbf67 100644 --- a/documentation/bookmark/back_end/micro_controller.md +++ b/documentation/bookmark/compilation/target/micro_controller.md diff --git a/documentation/bookmark/back_end/native.md b/documentation/bookmark/compilation/target/native.md index 32da388c9..32da388c9 100644 --- a/documentation/bookmark/back_end/native.md +++ b/documentation/bookmark/compilation/target/native.md diff --git a/documentation/bookmark/back_end/python.md b/documentation/bookmark/compilation/target/python.md index 5113bb712..5113bb712 100644 --- a/documentation/bookmark/back_end/python.md +++ b/documentation/bookmark/compilation/target/python.md diff --git a/documentation/bookmark/back_end/rust.md b/documentation/bookmark/compilation/target/rust.md index f38b36966..f38b36966 100644 --- a/documentation/bookmark/back_end/rust.md +++ b/documentation/bookmark/compilation/target/rust.md diff --git a/documentation/bookmark/back_end/scopes.md b/documentation/bookmark/compilation/target/scopes.md index cd938a3ad..cd938a3ad 100644 --- a/documentation/bookmark/back_end/scopes.md +++ b/documentation/bookmark/compilation/target/scopes.md diff --git a/documentation/bookmark/back_end/wasm.md b/documentation/bookmark/compilation/target/wasm.md index 4ad7a40e9..e90bcd654 100644 --- a/documentation/bookmark/back_end/wasm.md +++ b/documentation/bookmark/compilation/target/wasm.md @@ -1,19 +1,23 @@ # Interoperability +0. []() 0. [How to Extend WebAssembly with Host Functions](https://www.secondstate.io/articles/extend-webassembly/) 0. [js-wasm: JavaScript and WebAssembly should be a joy to use together.](https://wasm.js.org/) # Concurrency +0. []() 0. [Wasm threads are now available in all browsers](https://old.reddit.com/r/WebAssembly/comments/rk83mr/wasm_threads_are_now_available_in_all_browsers/) # Platform +0. []() 0. [Wasmer Java](https://github.com/wasmerio/wasmer-java) 0. [WAVM: WAVM is a WebAssembly virtual machine, designed for use in non-web applications.](https://wavm.github.io/) # Exemplar +0. []() 0. [Announcing GraalWasm — a WebAssembly engine in GraalVM](https://medium.com/graalvm/announcing-graalwasm-a-webassembly-engine-in-graalvm-25cd0400a7f2) 0. [Towards a WebAssembly standalone runtime on GraalVM](https://dl.acm.org/citation.cfm?id=3362780) 0. https://github.com/vvanders/wasm_lua @@ -22,6 +26,8 @@ # Reference +0. []() +0. [TeaVM: Build Fast, Modern Web Apps in Java](https://teavm.org/) 0. [Recommendations when publishing a Wasm library](https://nickb.dev/blog/recommendations-when-publishing-a-wasm-library) 0. [Building host implementations for WebAssembly interfaces](https://radu-matei.com/blog/wasm-components-host-implementations/) 0. [WebAssembly Techniques to Speed Up Matrix Multiplication by 120x](https://jott.live/markdown/mm_wasm) diff --git a/documentation/bookmark/back_end/wren.md b/documentation/bookmark/compilation/target/wren.md index 8649c720b..8649c720b 100644 --- a/documentation/bookmark/back_end/wren.md +++ b/documentation/bookmark/compilation/target/wren.md |