gaclib.net
C++博客
首頁
新隨筆
聯系
聚合
管理
隨筆-341 評論-2670 文章-0 trackbacks-0
JIT腳本引擎:成員對齊詳解
摘要: 為了讓編譯成x86后的代碼可以轉換成C++的函數指針,我們也必須處理成員對齊的事情。如果腳本里的結構成員對齊跟C++不一致的話,會造成很多麻煩。下面是成員對齊的計算方法:
閱讀全文
posted @
2009-03-09 20:46
陳梓瀚(vczh) 閱讀(3766) |
評論 (2)
|
編輯
收藏
JIT腳本引擎:浮點運算
摘要: x87的FPU支持很多種浮點運算,其中浮點運算的比較結果不放在EFLAGS里,我們需要人手取出。在比較a和b的時候,C2=0,C3=(a==b),C0=(a<b)。我們可以將FNSTSW AX指令將浮點標志位復制到AX,然后通過讀取C3、C2和C0(分別位于第14、10、8位)來判斷結果。下面是一個求浮點數組最大值的匯編函數:
閱讀全文
posted @
2009-03-06 04:56
陳梓瀚(vczh) 閱讀(1503) |
評論 (0)
|
編輯
收藏
JIT腳本引擎:關于自己的異常處理函數在Release下失效的解決辦法
摘要: 本來昨天搞定了異常處理之后決定狂喜一天,誰知道今天用release編譯了一下之后竟然掛了!資料找了半天發現是Windows XP之后提供的一項保護SAFESEH搞的鬼。于是需要將自己的異常處理函數添加進PE頭的SAFESEH列表中。方法如下:
閱讀全文
posted @
2009-03-04 08:40
陳梓瀚(vczh) 閱讀(1907) |
評論 (2)
|
編輯
收藏
JIT腳本引擎:使用匯編實現__try和__catch
摘要: 使用上一篇文章的資料,就可以使用匯編實現異常處理了。下面來看一個例子。
閱讀全文
posted @
2009-03-03 00:20
陳梓瀚(vczh) 閱讀(2286) |
評論 (1)
|
編輯
收藏
JIT腳本引擎:關于X86上Windows 32位操作系統異常處理(SEH)的處理過程
A Crash Course on theDepths of Win32 Structured Exception Handling, MSJ January 1997
http://www.microsoft.com/msj/0197/Exception/Exception.aspx
對于結構化異常處理(SEH)的進一步探索(讀后感)
http://vicchina.51.net/research/other/seh/sehadvance.htm
NT 中的異常幀結構和異常嵌套(讀后感續)
http://vicchina.51.net/show_article.php?id=65
posted @
2009-03-02 04:45
陳梓瀚(vczh) 閱讀(1780) |
評論 (0)
|
編輯
收藏
JIT腳本引擎:stdcall、cdecl和fastcall
摘要: stdcall、cdecl和fastcall的參數都是從右到左入棧,并且返回值遵循以下規律:
小于等于4字節結構用EAX
小于等于8字節結構用EDX:EAX
浮點數用ST(0)
其他則在EAX放置一個指針,供返回值使用
stdcall被調用者清棧,cdecl調用者清棧,fastcall被調用者清棧并且前兩個小于等于4字節的參數放入ECX和EDX。返回值和參數如果一方有構造函數或析構函數則不使用寄存器。
于是今天用字符串形式的匯編寫了三種調用方法的求和函數:
閱讀全文
posted @
2009-03-01 05:27
陳梓瀚(vczh) 閱讀(1810) |
評論 (9)
|
編輯
收藏
JIT腳本引擎:用匯編寫了一個四則運算字符串分析程序
摘要: 這個匯編程序讀入一個字符串,并計算結果。支持加減乘除括號,不支持浮點數,不支持查錯。以下是匯編以及注釋。匯編程序使用這篇文章的程序編譯并執行。
閱讀全文
posted @
2009-02-26 09:05
陳梓瀚(vczh) 閱讀(2227) |
評論 (0)
|
編輯
收藏
JIT腳本引擎:動態運行文本格式的匯編代碼
摘要: 今天完成了文本格式匯編代碼的編譯工作。這主要是為了調試,因為編譯器不可能產生文本格式的匯編代碼,這樣會很浪費資源。翻譯過程如下:
閱讀全文
posted @
2009-02-26 01:27
陳梓瀚(vczh) 閱讀(3391) |
評論 (2)
|
編輯
收藏
JIT腳本引擎:完成鏈接器的核心功能
摘要: 光能編譯匯編還是不行的,因為很多東西在編譯的時候不知道,典型的比如放常量那部分的指針等等。主要原因還是因為x87(指FPU部分)沒有指令包含浮點立即數,所有裝載浮點常數的指令都要求提供指針。所以諸如double a=1.2;之類的代碼,需要將1.2預先放置在一個地方然后確定指針的位置。
于是就遇到了一個問題,如何將編譯后才知道的指針地址寫進去呢?
閱讀全文
posted @
2009-02-22 22:41
陳梓瀚(vczh) 閱讀(1945) |
評論 (1)
|
編輯
收藏
JIT腳本引擎:將匯編語言編譯成機器碼寫進內存并在C++中調用
摘要: 在完成了這里和這里的工作之后,就可以寫程序生成機器碼了。在生成機器碼的時候有如下注意事項:
1:可執行代碼所在的空間必須使用VirtualAlloc與PAGE_EXECUTE_READWRITE標記分配。
2:程序需要的常量空間、全局變量空間和指令空間需要分開在三個不同的地方。
下面的例子使用一個struct保存指令的每一個部分,并且結合之前產生的指令譯碼表生成二進制碼。
閱讀全文
posted @
2009-02-22 07:08
陳梓瀚(vczh) 閱讀(4958) |
評論 (11)
|
編輯
收藏
僅列出標題
共35頁:
First
18
19
20
21
22
23
24
25
26
Last
留言簿
(70)
給我留言
查看公開留言
查看私人留言
隨筆分類
(347)
.NET(3)
2D(14)
3D(12)
C++(54)
C++實用技巧(7)
GacUI(37)
JIT(28)
Vczh Free Script(7)
Vczh Lazy Script(4)
VL++3.0開發紀事(51)
跟vczh看實例學編譯原理(4)
腳本技術(47)
開發自己的IDE(13)
其他(23)
啟示(30)
作品(13)
好友博客
Graphixer
何詠師弟的圖形學網站
jetricy
Jetricy的技術博客
KlayGE游戲引擎
叛叛大神
Lomox UI框架
Lomox UI框架
MiGL
Tyeah的博客
vczh的百度空間
vczh的百度空間
YMK的后花園
YMK的技術博客
德利菲
德利菲的技術博客
怪盜KID的游戲開發博客
怪盜KID的游戲開發博客
華工微軟俱樂部
華南理工大學微軟俱樂部科技部博客
開發視界
開發視界 - 移動開發社區
老趙點滴
趙姐夫的.net博客
臨淵羨魚,不如退而山寨
另一個SOS團的C++程序員……
某白食(Lyt)
某白食的C++博客
歲月流轉,往昔空明
空明流轉的blog
微軟一站式實例代碼庫
500個經典示例,速學速用,效率倍增。
我在博客園的blog
我在博客園的blog
一個不靠譜的程序員
JeffChen的技術博客
搜索
最新評論
1.?re: 正則表達式——一點小插曲
明天開工。
來踩一下輪子哥的腳印。
--Bread
2.?re: 自從昨天我發現VS2012可以編譯出支持XP的代碼之后,我決定在GacUI里面全面使用C++11新功能
請教一下GACUI可以支持VC2008嗎?
--許滿哥
3.?re: 要學車暫停更新幾個星期
@昏人
66666666
--lgjsd
4.?re: 伴隨我成長的編程書
感覺我要走的道路好長好長
--lzj
5.?re: 伴隨我成長的編程書
我最喜歡的cppblog上又看到好文章了
--胡然
閱讀排行榜
1.?伴隨我成長的編程書(164435)
2.?《構造正則表達式引擎》新鮮出爐啦!(109911)
3.?跟vczh看實例學編譯原理——零:序言(51260)
4.?如何手寫語法分析器(40185)
5.?C++實用技巧(一)(38151)
評論排行榜
1.?關于C++之“復雜”(68)
2.?(轉)架構師已死(轉自UML軟件工程組織) (57)
3.?2005-2009年個人總結(40)
4.?如何設計一門語言(一)——什么是坑(a)(37)
5.?《構造正則表達式引擎》新鮮出爐啦!(36)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 陳梓瀚(vczh)
久久国产精品无码网站
|
99国产欧美精品久久久蜜芽
|
很黄很污的网站久久mimi色
|
久久本道综合久久伊人
|
无码人妻久久一区二区三区蜜桃
|
91精品国产高清久久久久久io
|
精品午夜久久福利大片
|
色婷婷久久久SWAG精品
|
国产成人精品久久一区二区三区
|
国产精品久久亚洲不卡动漫
|
亚洲日韩欧美一区久久久久我
|
久久国产精品免费一区
|
久久精品一本到99热免费
|
热久久这里只有精品
|
99久久精品国产一区二区
|
浪潮AV色综合久久天堂
|
久久久精品国产Sm最大网站
|
色综合久久中文字幕无码
|
国产亚州精品女人久久久久久
|
国产免费久久精品99re丫y
|
亚洲嫩草影院久久精品
|
国产精品天天影视久久综合网
|
狠狠色丁香久久婷婷综合
|
久久e热在这里只有国产中文精品99
|
久久亚洲春色中文字幕久久久
|
热综合一本伊人久久精品
|
精品水蜜桃久久久久久久
|
91精品国产综合久久香蕉
|
69久久精品无码一区二区
|
色婷婷综合久久久久中文
|
亚洲精品无码久久久久久
|
久久精品日日躁夜夜躁欧美
|
亚洲色欲久久久久综合网
|
亚洲欧美日韩精品久久亚洲区
|
国产免费久久精品99久久
|
精品综合久久久久久88小说
|
国产99久久久久久免费看
|
久久精品综合一区二区三区
|
久久99精品久久久久久齐齐
|
久久国产精品免费
|
久久99精品久久久大学生
|