3

C コードをインポートしたいのですが、そのmain()機能をオーバーライドします。Unix では、C コードのメイン宣言の前に を付けることでこれを行うことができますが__attribute__((weak))、これは Windows ではコンパイルされません。Strawberry Perl の GCC も MinGW の GCC も を認識しないから__attribute__((weak))です。

ドキュメントをオンラインで読むと、__declspec同様に機能するようです。Unix GCC のマクロ__declspecに相当するものはありますか?__attribute__((weak))

これは、私が投稿した以前の質問のより具体的なバージョンです。

4

2 に答える 2

1

MSVCには、使用したい場合に機能すると思われる別の方法があります。

/ *
 * pWeakValueはexternconst変数である必要があり、これは次のようにエイリアスされます。
 *実際のユーザー定義が存在しない場合は、pDefaultWeakValue
 *代替名ディレクティブ。
 * /

extern const char * pWeakValue;
extern const char * pDefaultWeakValue = NULL;

#pragma comment(linker、 "/ alternatename:_pWeakValue = _pDefaultWeakValue")

他のいくつかのオプションについては、この古いSOの回答を参照してください。

于 2012-09-12T23:56:45.743 に答える