問題タブ [extern]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - extern C はクラス レベルで使用できませんか?
Windows 環境、VSTS 2008 + C++ プロジェクトで確認したいのですが、extern C は関数レベルにしか適用できず、クラス レベルには適用できません (クラスのすべてのメンバー関数が C 言語名マングリングを使用するように)。いくつかの方法を試しましたが、常にコンパイル エラーが発生します。
前もって感謝します、ジョージ
c++ - externを使用してソースファイルのヘッダーファイルのクラスを使用できますが、#includeは使用できませんか?
私が次のoutside.h
ようなクラスを持っている場合:
extern
クラスをインスタンス化して呼び出す必要があるキーワードを使用して、framework.cppでどのように使用できますGetCount
か?
編集:
#include
許可されていません。
c - 外部関数?
Sample1.c
Sample2.c
Turbo C/C++ Compiler (Windows XP)でSample1.c
ファイルをコンパイルしようとしました。Sample2.c
次のエラーが表示されます。
誰でもこの点で私を助けることができますか?
objective-c - NSString*の配列をグローバルexternとして宣言するときのXcodeのエラーと警告
クラスのヘッダーファイルでNSString*の配列を宣言しています。
PolygonShape.h
現在、PolyginShape.mでこれを次のように使用しています。
numberOfSidesは、ポリゴン名が格納されているインデックスを示すiVarです
。これまでのところ、エラーなしでコンパイル
されていました。
次に、mainメソッドを実装するファイルにPolygonShape.hを追加しました(注:これらには、クラス定義と呼び出し関数obj-cスタイルではなくCスタイル)
コンパイルすると、ビルド(リンク)エラーが発生します
だから私はスタックオーバーフローや他のフォーラムを通り抜けました、そしてほとんどのアドバイスはグローバル変数を外部にすることでした、そして私はそうしました...
ただし、リンクエラーが発生し、2つの警告が表示されます。
PolygonShape.hをインポートしている両方の場所で
ここで何が欠けていますか?
ありがとう。
c - C の Extern および静的ポインター
こんにちは、静的および外部ポインターの使用法は何ですか?? それらが存在する場合
c++ - extern "C" は関数宣言でのみ必要ですか?
C プログラムから呼び出す必要がある C++ 関数を作成しました。Cから呼び出せるようにするためextern "C"
に、関数宣言に を指定しました。次に、C++ コードをコンパイルしましたが、コンパイラ (Dignus Systems/C++) が関数のマングル名を生成しました。したがって、どうやらextern "C"
.
これを解決するためextern "C"
に、関数定義に を追加しました。この後、コンパイラは C から呼び出し可能な関数名を生成しました。
技術的にはextern "C"
、関数宣言でのみ指定する必要があります。これは正しいですか?( C++ FAQにこれの良い例があります。) 関数定義でも指定する必要がありますか?
これを示す例を次に示します。
私の問題は、何かを誤ってコーディングした結果である可能性があります。または、コンパイラのバグを見つけた可能性があります。いずれにせよ、stackoverflow に相談して、技術的にどちらが「正しい」方法であるかを確認したかったのです。
c++ - g++外部参照エラー
g++で再現される問題があります。VC++は問題を満たしていません。だから私は2つのcppファイルを持っています:
1.cpp:
2.cpp:
魔法はありません。文字列定数を別のファイルに配置したいだけです。リンク時にldはエラーを生成します: "`_QWERTY'への未定義の参照"両方の宣言を"extern"C""にラップする最初の考え-助けにはなりませんでした。エラーと非c++_QWERTYはまだあります。
提案を事前に感謝します
c - externを使用してソースファイル間で変数を共有するにはどうすればよいですか?
extern
Cのグローバル変数にキーワードがある場合があることを私は知っています。extern
変数とは何ですか?宣言はどのようなものですか?その範囲は何ですか?
これはソースファイル間で変数を共有することに関連していますが、それはどのように正確に機能しますか?どこで使用しextern
ますか?
c++ - DLL のエクスポートされた関数の名前マングリングを停止するにはどうすればよいですか?
「GetName」という関数をエクスポートする DLL を作成しようとしています。マングルされた関数名を知らなくても、他のコードでこの関数を呼び出せるようにしたいと思います。
私のヘッダーファイルは次のようになります。
私のコードは次のようになります。
ビルドすると、DLL は引き続き "_GetName@0" という名前の関数をエクスポートします。
私は何を間違っていますか?
c# - p/invoke で使用できるように C++ 関数を設定する方法は?
これが脳みそで簡単な質問であることを願っていますが、これは私の C++ に関する専門知識の欠如を示しています。私は C# プログラマーであり、過去に他の人の C++/C dll を使用して P/Invoke で広範な作業を行ってきました。ただし、今回はラッパー C++ dll (アンマネージ) を自分で作成することにし、C# からラッパー dll を呼び出しています。
私がすぐに直面している問題は、p/invoke で見つけられる C++ 関数を定義できないことです。これの構文が何であるかはわかりませんが、これまでに試したことは次のとおりです。
もともと私はこれを持っていましたが、どちらも機能しませんでした:
そして、C# 側では、次のようにしています。
すべてがコンパイルされますが、この C# p/invoke 呼び出しを実行すると、System.EntryPointNotFoundException: Unable to find an entry point named 'TestFunc' in DLL 'Plugins\TestDLL.dll' が発生します。
確かに、これは構文を知らない C++ 側では信じられないほど単純なものに違いありません。