問題タブ [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 投票する
6 に答える
47367 参照

c++ - extern inline は何をしますか?

inlineそれ自体がコンパイラへの提案であり、その裁量で関数をインライン化する場合としない場合があり、リンク可能なオブジェクト コードも生成されることを理解しています。

私はそれstatic inlineが同じことをすると思います(インライン化される場合とされない場合があります)が、インライン化されたときにリンク可能なオブジェクトコードを生成しません(他のモジュールがそれにリンクできないため)。

写真のどこextern inlineに当てはまりますか?

プリプロセッサ マクロをインライン関数で置き換えたいと仮定し、この関数をインライン化する必要があるとします (たとえば、呼び出された関数ではなく、呼び出し元に対して解決する必要がある__FILE__およびマクロを使用するため)。__LINE__つまり、関数がインライン化されない場合に備えて、コンパイラまたはリンカーのエラーを確認したいと考えています。extern inlineこれを行いますか?(そうでない場合、マクロに固執する以外にこの動作を実現する方法はないと思います。)

C++ と C の間に違いはありますか?

コンパイラのベンダーやバージョンによって違いはありますか?

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

c++ - C++ で構造体をグローバルに定義する

1 つ以上の C++ ファイルで見られる構造をグローバルに (extern struct を使用して) 宣言する方法について、やや詳細なスレッド (228684) がありましたが、その方法を正確に理解することはできません (多くの議論がありました)。これを行う、あれを行う、おそらくこれを行う、これを試すなど...)。

誰かが 2 つの別々の C++ ファイルで見られる構造を宣言する方法の非常に簡単な例を投稿できますか? すべての関数をメインと同じファイルに入れると正常に動作しますが、関数を別のファイルに分割しようとすると、コンパイルできません。

不明な点... 構造体を型定義する必要がありますか? ヘッダー ファイルで構造を定義し、そのヘッダーを各 C++ ソース ファイルに含めますか? ヘッダー ファイルに #ifndef マクロが必要ですか? 構造体 extern をヘッダーで宣言する必要がありますか?

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

c++ - Extern キーワードと未解決の外部シンボル

私の問題を説明する小さなグラフをペイントで描きました。

<img>でも、投稿後にタグを使うと出てこないみたい?

グラフ:

http://i44.tinypic.com/103gcbk.jpg

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

c++ - C++ テンプレート パラメーターの要件は何ですか?

整数値をパラメーターとして受け取る C++ のテンプレートを使用している場合、変数が関数呼び出しでパラメーターとして使用された場合とは異なる、パラメーターとして使用される整数変数に関する要件はありますか?

これは質問hereのフォローアップ です。関数またはテンプレートに対して「extern const int」として宣言されている WRT 変数に違いがある場合に特に対処したいですか?

一部のテンプレートのケースでは、コンパイル時にパラメーター値が必要になることがわかります。これは常に真実ですか?おそらくパラメータ値の特定の用途のみに対して、実行時に値が使用されるように指定する方法はありますか?

0 投票する
9 に答える
71688 参照

c# - 「dll で [関数] という名前のエントリ ポイントが見つかりません」(c++ から c# への型変換)

C++ で書かれたサードパーティ製の dll があります。dll のドキュメントからの情報を次に示します。

説明: 関数の結果を受け取るためのデータ構造。すべての関数の結果は Unicode (UTF-8) として保存されます。

方法:

入力:

この関数が認識する画像の場所のフルパス

関数の結果を受け取るためのデータ オブジェクト。関数の戻り値: 成功した場合は true、それ以外の場合は false が返されます。

C# アプリケーションから recoCHN_P_Name を呼び出そうとしています。この目的のために、私はこのコードを思いつきました:

dll をインポートするコード:

関数を呼び出すコード:

そして、私が得ているエラーは、「DLL 'cnOCRsdk.dll' で 'recoCHN_P_Name' という名前のエントリ ポイントが見つかりません。」C++ から C# への型の変換でエラーが発生したのではないかと疑っています。正確にはどこで ... ?

0 投票する
5 に答える
5989 参照

c++ - この extern は無害ですか?

main.h

main.c

main.c モジュールでは、配列が定義され、宣言されています。モジュールに extern ステートメントを含める行為は、何か問題を引き起こしますか?

私は常にexternステートメントをリンカーへのコマンドとして視覚化し、「実際の名前付きエンティティを他の場所で探します。ここにはありません。

私は何が欠けていますか?

ありがとう。

悪の。

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

sdl - SDL_Surface での Extern コンパイル エラー

変数のコンパイル エラーが発生しCode::Blockました。SDL_Surface奇妙なことに、この種のエラーを受け取ったのはこれが初めてです。以前にこのコード行を使用したことがあり、正常に機能していたためです。

この問題の原因となるコードのサンプル行の 1 つ (同じ問題を伴ういくつかの行) は次のとおりです。

結果のエラーは次のとおりです。

エラーを理解しようとしましたが、それが何であるかわかりません。誰が何が間違っているのか知っていますか?

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

c - C での外部変数のリンク

Unix には、3 つのメイン ファイルがあります。1 つはライブラリで、もう 1 つはプログラムです。

  • MyLib.cそしてMyLib.hライブラリです。
  • main.cプログラムです。

MyLib.h宣言があります ( extern int Variable;)。で使おうとするVariablemain.c使えません。もちろん、 と に含めMyLib.hて、MyLib.cそれらmain.cもリンクしています。とにかく、変数は では認識されませんmain.c

プログラムをリンクするときに使用可能な変数を取得するにはどうすればよいですか?

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

c++ - エクスポートされたconst変数を参照するconst変数の値が0になるのはなぜですか?

次のことを考慮してください。次のように2つのエクスポートされた定数があります。

これらの定数は、2つの静的(ローカルに表示される)定数を定義するために別の場所で参照されるようになりました。

これにより、次の出力が得られます。

2番目のdoubleが0であるのはなぜですか?.NET 2003 C ++コンパイラ(13.10.3077)を使用しています。

0 投票する
6 に答える
35691 参照

objective-c - Objective-C で列挙型を前方宣言する

Objective-C プログラムで列挙型の可視性に問題があります。2 つのヘッダー ファイルがあり、1 つはtypedef enum. 別のファイルでtypedef'd タイプを使用する必要があります。

ストレート C では、単純#includeに他のヘッダー ファイルを使用しますが、Objective-C では、必要に応じて前方宣言を#import使用する代わりに、ヘッダー ファイル間で使用しないことをお勧めします。@classただし、列挙型を前方宣言する方法がわかりません。

.m安全に削除できる対応する実装ファイルを除いて、実際の列挙値は必要ありません#importtypedef enumでは、ヘッダーで認識されるようにするにはどうすればよいですか?