C言語なら俺に聞け(入門編)Part 116
■ このスレッドは過去ログ倉庫に格納されています
0554続き
2013/07/03(水) NY:AN:NY.AN参照に関してはそうはいかない。
| __declspec(dllimport) int aaa;
| int x(){ return aaa;}
これをコンパイルすると
| mov rax, QWORD PTR __imp_aaa
| mov eax, DWORD PTR [rax]
と間接参照のコードが生成されるが、
| extern int aaa;
| int x(){ return aaa;}
で生成される
| mov eax, DWORD PTR aaa
ではリンカーがどんなに頑張っても間接参照にはできない。
これが関数では省略可能な__declspec(dllimport)が変数では必須である理由。
この本質を理解していれば、↓こんな恥を晒すことはない。 wwww
>>531
> それにしても,ちっ,cl って,dll 内の変数をインポートするのに,いちいち __declspec(dllimport) つけなきゃならんのかよ,.わざわざ .def まで書かせといてこれかい,
■ このスレッドは過去ログ倉庫に格納されています