原创 3D編程-旋轉的三角形

#include <d3d9.h> #include <d3dx9.h> #include <stdio.h> #pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.lib"

原创 內嵌彙編練習-1

//compiler: visual c++ //system: win7 #include <stdio.h>  #define pureasmcall(retval)\__declspec(naked) retval _stdcal

原创 3D編程-繪製最簡單的三角形

#include <d3d9.h> #include <d3dx9.h> #include <stdio.h> #pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.lib"

原创 dangerous fork !

System: Ubuntu Compiler: gcc 使用fork創建一個子進程的時候,如果一不心可能出現很難找到的BUG,特別是子進程修改父進程的數據的時候..... 下面是一個例子,在父進程打開了一個文件,理論上的"子進程會把父進

原创 3D編程-旋轉的立方形

#include <d3d9.h> #include <d3dx9.h> #include <stdio.h> #pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.lib"

原创 指針的控制範圍

#include <iostream> using namespace std; void main() { int a[3][4]={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; int **p=(

原创 3D編程-Texture

#include <d3d9.h> #include <d3dx9.h> #include <stdio.h> #pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.lib"

原创 3D編程-繪製任意多邊形

#include <d3d9.h> #include <d3dx9.h> #include <stdio.h> #pragma comment(lib,"d3d9.lib") #pragma comment(lib,"d3dx9.lib"

原创 內嵌彙編練習-2

使用匯編實現absf函數,以上彙編代碼針對long爲32位的計算機 編譯器是VC系列,曾經不知道爲什麼absf這個函數執行效率異常緩慢,所以用匯編寫了這段代碼, 在SSE指令集中,有一條指令可以完全代替以上的代碼... // #defi

原创 圖像旋轉+二線性插值算法

long BilinearInterpolateD( const SwImage & pic,double fx,double fy ) { #define BILINEAR4_UNITRPOC(a,b,c,d) ((a<<22)

原创 函數自動調用

//=========== Visual C++ version ===============#include <stdio.h> int foo1() { printf("%s\n", __FUNCTION__); retu

原创 C++逗號表達式

你的寶刀磨好了嗎? #define ADD_BOUND(var,step,bound) \(int)( ( var+=(step),var>(bound) ) ? ( var=(bound), 1 ) : 0  ) 點贊

原创 彙編練習-3

虛擬機上運行的彙編 org 07c00h buf: db "000011111",0 start: mov ax,cs mov ds

原创 Direct2D死機崩潰現象

開發Windows程序的圖形庫,有很多選擇,Cairo,QT等等,但我比較喜歡用Native圖形庫:GDI,GDI+,DIRECT2D, GDI感覺逐步退出舞臺,因爲界面美觀的和它沾不邊;GDI+是一個大坑,蝸牛般的龜速,如果不構想緩衝

原创 Direct2D 第2篇 繪製橢圓

#include <windows.h> #include <d2d1.h> #include <d2d1helper.h> #include <dwrite.h> #pragma comment(lib, "dwrite.lib")