原创 Box2D源碼編譯調試配置

今天下了一個Box2D 2.2.1的包,雖然不是最新的, 但是想學習一下這個物理引擎 用cmake-gui.exe轉化成VS2008的工程以後,發現只能運行testbed, 不能加斷點 後來改了兩個默認的工程配置,就OK了 test

原创 Python源碼入門學習心得-初始化(一)

有點雜...林亂記了幾個點,以後整理,主要是一些基本的數據結構 Build好python的源碼以後,直接debug運行,python就對進入 main.c int Py_Main(int argc, wchar_t **argv) 完

原创 Python源碼學習之初始化(三)-PyDictObject的初始化

先來看它的定義 typedef struct _dictobject PyDictObject; struct _dictobject { PyObject_HEAD Py_ssize_t ma_fill; /* # A

原创 Python源碼學習九,dfa state的初始化

in  graminit.c定義了一些struct, 是理解和實現DFA的關鍵 static dfa dfas[81] = { {256, //d_type "single_input", //char

原创 Python源碼之初始化(五)-initmain()

初始化執行到initmain()的時候 PyImport_GetModuleDict() 返回的是interp->modules, 是一個dict 包含了 sys, _codecs, builtins, zipimport等 接着PyM

原创 Python源碼學習-PyTypeObject

重點學習下一個數據結構 PyTypeObject PyType_Type = { PyVarObject_HEAD_INIT(&Py

原创 Gradle 入門(一)

build.gradle ========================= defaultTasks 'loadFile' task testTask  {  println "begin without call...." } Fi

原创 Python源碼學習 番外-爲方便調試和查看變量而自己寫的autoexp.dat

autoexp.dat位於C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\Debugger 目錄下, 控制了Visual Studio中變量的調試時候的顯示方式,

原创 Python源碼學習(六)-PyCodeObject初探

demo1.py def f(): c=1 print("Hello") a=9 b=5 f(); co.py source = open('demo1.py').read() co = compile(source, '

原创 Django的TemplateResponse

def my_render_callback(response): return response from django.template.response import TemplateResponse def my_templa

原创 Gradle源碼一

Gradle執行的關鍵代碼 org.gradle.initialization.DefaultGradleLauncher.java private void doBuildStages(Stage upTo) {

原创 Gradel源碼入門二

在org.gradle.launcher.bootstrap  ProcessBootstrap.java中 private void runNoExit(String mainClassName, String[] args) thr

原创 Python源碼學習之初始化(二)

在初始化中,調用 void _Py_ReadyTypes(void) { if (PyType_Ready(&PyType_Type) < 0) Py_FatalError("Can't initialize ty

原创 Python源碼(八) testbit宏定義

在bitset.h中 ,有這樣一個宏定義被廣泛用到 testbit #define testbit(ss, ibit) (((ss)[BIT2BYTE(ibit)] & BIT2MASK(ibit)) != 0) #define B

原创 Python源碼學習十--token的parse

in parsetok.c static node * parsetok(struct tok_state *tok, grammar *g, int start, perrdetail *err_ret, int *f