原创 Python源碼學習十一 一個常用的內存分配函數

void * _PyObject_DebugMallocApi(char id, size_t nbytes) { uchar *p; /* base address of malloc'ed block */

原创 Python源碼學習七 .py文件的解釋

Python源碼太複雜了... 今天看了下對.py文件的parse, 雲裏霧裏的 py文件是最簡單的, 在python的交互式窗口 import這個模塊 a = 10 print(a) 開始分析,堆棧如圖 把 stati

原创 Python源碼學習(四)-builtins模塊的初始化

Module的初始化是從系統預定義的PyModuleDef開始的 typedef struct PyModuleDef{ PyModuleDef_Base m_base; const char* m_name; const

原创 配置LibGdx 1.0

直接在1.0的source的基礎上建工程 ,發現少了幾個包,找到了地址 http://www.java2s.com/Code/Jar/j/Downloadjorbis00172jar.htm https://codeload.gith

原创 Scala 之 self annotation 標記

package progscala /* alias <=========== */ trait Foo { self => def message:String trait Bar { def message =

原创 Gradle原碼入門七

今天分析了Object org.gradle.internal.service.DefaultServiceRegistry.doGet(Type serviceType) 函數 private Object doGet(

原创 Gradle源碼入門九-settings的include是如何工作的

先上call stack script.run()  in org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory 本代碼中,script=settings_ani2p

原创 Gradle源碼入門五

分析DefaultGradleLauncher.java private void doBuildStages(Stage upTo) 函數的第二步 // Evaluate settings script

原创 一個簡單的groovy script生成的class文件及其反編譯

Groovy def task = { println "Hello from source code-Task" } task() def task2 = { println "Hello from source code-T

原创 GroovyShell的初始化過程

GroovyShell的初始化 public GroovyShell(CompilerConfiguration config) { this(new Binding(), config); } c

原创 Gradle源碼入門四

接三 如果我們運行gradle hello  (hello 是一個task)  代碼會走到org.gradle.launcher.cli.RunBuildAction,  這個類的run()函數 public void run(

原创 Groovy的調試環境

除了基本的把官網down下來的source code加到工程中外,還需要兩件事 一是從http://forge.ow2.org/projects/asm/ 上下載最新的asm jar包,解決了import org.objectweb.as

原创 Gradle源碼入門學習之十-- Listener & Dispatch

new ListenerBroadcast<OutputEventListener>(OutputEventListener.class); -> public ListenerBroadcast(Class<T> type) {

原创 gradle源碼入門學習六

DefaultServiceRegistry之findProviderMethods private void findProviderMethods(Object target) { Set<String> m

原创 非典型的scala程序及其編譯後的結果

初學Scala Folder structure以及部分代碼 package.scala的代碼 package comx package object mypkg { def myprint = p