33 Matching Annotations
  1. Jul 2026
    1. You don’t need Ollama, and frankly - I would recommend against using that on ethical grounds.

      在绝大多数本地大模型教程都在推崇Ollama的当下,作者出于伦理理由直接建议弃用,这是一个强烈的非共识观点。这提醒开发者在选择流行封装工具时,不仅要看易用性,还需关注开源伦理与底层透明度,直接使用llama.cpp反而是更干净的做法。

  2. Apr 2022
  3. Mar 2022
    1. ● Global symbols○ Symbols defined by module m that can be referenced by other modules.■ e.g., non-static C functions and non-static global variables.● External symbols○ Global symbols that are referenced by module m but defined by some other module.● Local symbols○ Symbols that are defined and referenced exclusively by module m.■ e.g., C functions and global variables defined with the static attribute.○ Local linker symbols are not local program variables

      分别有哪些 linker symbol?

    2. ● Symbol resolution○ Programs define and reference symbols (global variables and functions)○ Linker associates each symbol reference with exactly 1 symbol definition● Relocation○ Merges separate code and data sections into single sections○ Relocates symbols from relative locations in .o files to final memory locations○ Updates all references to symbols to reflect new positions

      linker 到底做了什么?

    3. ● Processes #include, #define, #if, macros○ Combines main source file with headers (textually)○ Defines and expands macros (token-based shorthand)○ Conditionally removes parts of the code (e.g. specialize for Linux, Mac, ...)● Removes all comments

      Pre-Processor 部分的流程是什么?

  4. Feb 2022
  5. Jan 2022
  6. Nov 2021
    1. asm.js subset is basically JavaScript where you can only use numbers (no strings, objects, etc.). This is all you need to run C++ code since everything in C++ is either a number or a pointer to a number, and pointers are also numbers. The C++ address space is just a giant JavaScript array of numbers and pointers are just indices into that array.

      everything in C++ is either a number or a pointer to a number, and pointers are also numbers.

    1. One of the best things about classes is that they contain destructors that automatically get executed when an object of the class goes out of scope. So if you allocate (or acquire) memory in your constructor, you can deallocate it in your destructor, and be guaranteed that the memory will be deallocated when the class object is destroyed (regardless of whether it goes out of scope, gets explicitly deleted, etc…).

      smart pointer 的原理是什么?

  7. Apr 2020
  8. May 2017
  9. Dec 2016
  10. Aug 2016
  11. Jun 2016