wineでソフトを作る際に一筋縄で行かない理由が、日本語の資料が少ないことです。
たとえ、C言語がわかっていても、全然英語ができなかったり、時間が少なかったりすると、
諦めがちです。
おそらくspecファイルについて書いてあるものは少ないと思いますが、
要は書式はRPMのそれと同じです。しかし、書くべき内容は異なります。
主な書式
#で始まる行は無視されます。
@につづけて関数及びその引数の名前を書きます。
例:)@stdcall CreateDesktopW(wstr wstr ptr long long ptr)
この書式は厳密な32・64ビットモードでのサイズを決定するためのもんです。
stdcall:これは関数の形式を表します。普通のWin32のものです。これ以外に
pascal:C言語の規則に宣った関数の場合です。
varargs:複数の引数を持つ関数の場合です。
thiscall:C++の場合です。
CreateDesktopW:関数名です。
wstr,ptr,long:引数型です。それぞれ、2バイト長文字列、ポインタ、longです。他には
int64:64ビット整数
int128:128ビット整数
float,double:そのまま
たとえ、C言語がわかっていても、全然英語ができなかったり、時間が少なかったりすると、
諦めがちです。
おそらくspecファイルについて書いてあるものは少ないと思いますが、
要は書式はRPMのそれと同じです。しかし、書くべき内容は異なります。
主な書式
#で始まる行は無視されます。
@につづけて関数及びその引数の名前を書きます。
例:)@stdcall CreateDesktopW(wstr wstr ptr long long ptr)
この書式は厳密な32・64ビットモードでのサイズを決定するためのもんです。
stdcall:これは関数の形式を表します。普通のWin32のものです。これ以外に
pascal:C言語の規則に宣った関数の場合です。
varargs:複数の引数を持つ関数の場合です。
thiscall:C++の場合です。
CreateDesktopW:関数名です。
wstr,ptr,long:引数型です。それぞれ、2バイト長文字列、ポインタ、longです。他には
int64:64ビット整数
int128:128ビット整数
float,double:そのまま
0 件のコメント:
コメントを投稿