問題タブ [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.

0 投票する
2 に答える
80 参照

c - 名前でextern変数(または関数)を取得する方法はありますか

名前が const char * として渡された任意の extern 変数へのポインタを返すことができる C 標準ライブラリ関数について最近読んだ気がします。それが助けになるなら、リンカーシンボルを介して機能すると思います。

0 投票する
1 に答える
1124 参照

c++ - デバッグ クラス、C++、リンカ エラー

私が取り組んでいるプロジェクトのデバッグ クラスを作成しようとしていますが、デバッグ オブジェクトを渡す必要がないので、このようにしようとしていました。ただし、コンパイラまたはリンカが、作成中の実装をスキップしているように見える理由がわかりません。

#include "Debug.cpp" を main.cpp に追加すると、このコードは問題なく動作します。実装を .h ファイルに入れるか、Debug.cpp を #include しない限り、コンパイラは何らかの理由で open、close、および print 関数の実装を欠いています。

Debug.cpp に実装が表示されない理由がわかりましたか?

関係ないと思いますが、現在、debug.h と debug.cpp は 1 つのプロジェクトにあり、main.cpp は別のプロジェクトにあります (両方とも同じソリューション内ですが、Visual Studio 2008)。main.cpp は実行可能ファイルとしてビルドされ、debug.h と debug.cpp はダイナミック ライブラリ (dll) としてコンパイルされます。

Debug.h

コード: すべて選択

Debug.cpp

コード: すべて選択

main.cpp

コード: すべて選択

メイン関数の印刷行のコメントを外すと、次のエラーが発生します。

コード: すべて選択

編集:私の元の議論へのリンク:

http://elysianshadows.com/phpBB3/viewtopic.php?f=6&t=5328&start=999999

0 投票する
2 に答える
1522 参照

iphone - ビューコントローラーでアクセスできるように外部整数変数を宣言する方法

すべてのビューで変数にアクセスしたいので、どうすれば宣言できますか....

0 投票する
3 に答える
4557 参照

c++ - C ++Extern/複数の定義

externを使用してC++でAdaにインターフェイスしようとしています。これら2つの実装の違いは何ですか?

実装A

実装B

どちらの実装も問題なくコンパイルされます。しかし、Impl-Aはリンクに失敗し、インデックスの複数定義エラーが発生します。私は違いを理解しようとしているだけです。

0 投票する
4 に答える
21960 参照

c++ - externを使用する場合の未定義の参照

私は次の設定をしています(うまくいけば、これはあまりにも裸の例ではありません):

ああ

A.cpp

Bh

B.cpp

さて、instを使用するB.cppundefined reference to inst

これを修正する方法について何かアイデアはありますか?

0 投票する
3 に答える
5062 参照

c++ - .CPPファイルから変数にアクセスするC++

.cppファイル間の変数アクセスがどのように機能するかについて少しあいまいです。例えば:

main.cpp

main2.cpp

これにより、main.cppでコンパイラエラーが生成され、iに存在しないことが通知されます。では、「static」キーワードはこのコンテキストでどのような違いがありますか?(私はそれのためにグーグルを試しましたが、ほとんどの「静的キーワード」情報ページはクラスと関数について話します)

main2.cpp

同じですか?extern int i他の場所へのアクセスに使用されるのを防ぎますiか?匿名の名前空間の使用は、変数の処理方法がどのように異なりますか?

main2.cpp


総括する:

  • .cppファイル間で変数にアクセスできますか?(externキーワードは別として)
  • グローバル変数のstaticキーワードはどのように影響しますか?
  • 匿名の名前空間はどのように物事に異なる影響を与えますか?
0 投票する
1 に答える
906 参照

c++ - C++ の「extern "C"」ブロックで c99 を使用する

C で記述された関数が必要ですが、C++ から呼び出し可能で、制限されたポインターを使用します。extern "C"これは c99 でのみ利用可能であるため、g++ は、ブロックであってもそれを好まない。この制限を回避するにはどうすればよいですか?

0 投票する
2 に答える
578 参照

c++ - extern "C"(Cリンケージ)デフォルト

質問

GCC、MSVC、Clang、またはいくつかの組み合わせは、リンケージをデフォルトのCに設定することをサポートしていますか?

バックグラウンド

私は大規模な混合C/C ++プロジェクトを持っており、Cリンケージを使用してC ++ソースでシンボルをエクスポートするのは簡単で論理的ですが、これらの同じソースは、プロジェクトの残りの部分がC++リンケージの下にあると想定しています。

現在の状況では、C ++ソースで定義されているCソースが使用するものすべてと、C++ソースがCソースから使用するすべてのものを明示的にラップする必要がありますextern "C++"

extern "C"最後に、実際のC ++のものが文句を言うので、ソースファイルまたはヘッダーファイル全体を配置することはできません。#include <memory>(私が定義したfromやテンプレートなど。)

0 投票する
3 に答える
21444 参照

c - 「my_utils.h」をインクルードするのではなく、「extern void my_func();」を使用するのはなぜですか?

私が書いていないコードに取り組んでいて、たくさんあることに気付きましたextern void my_func();

私の理解ではextern、関数ではなく、グローバル変数の場合です。

extern関数をヘッダーファイルに入れてそれを含めるのではなく、関数を宣言する実用的な理由はありますか? それとも、これは単にスタイル上の選択ですか?

0 投票する
1 に答える
1417 参照

c++ - (C++) stl リストを extern として宣言する方法は?

私は持っている:

私のmain.cppで。クラス ファイルの 1 つでこれらの両方を extern として宣言する必要がありますが、単純な方法を試してみると、コンパイラが '>' の欠落に関するエラーを表示します。これを修正するにはどうすればよいですか?