問題タブ [header-files]
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# - C# インターフェイスを実装する C++ ヘッダー
C# インターフェイスから C++ ヘッダー ファイルを生成することは可能ですか?
例:
C# インターフェイス:
C++ ヘッダー:
「エラー C3766」を返します。
c++ - 具体的なクラスの個別のヘッダー ファイル - C++
バックグラウンド
次のような抽象クラスがあります
DoConversionメソッドを実装するだけの多くの具体的なクラスがあります。
このような多くの具体的な実装があります。抽象クラスIConverterを持つCharacterConverter.hなどのヘッダー ファイルを作成しました。
質問
私の具象クラスはDoConversionメソッドを実装するだけなので、具象クラスごとに個別のヘッダー ファイルを作成する必要がありますか? つまり、すべての具象クラスに対してImageConverter.h、TextConverter.hなどを作成する必要があるということですか? これらすべてのヘッダー ファイルには、IConverter抽象クラスのような同じコードが含まれます。
何かご意見は?
c - 複数のディレクトリにあるヘッダー ファイル: ベスト プラクティス
私はC初心者です
私は動的言語 (javascript、python、haskell など) で多くのコードを書いていますが、現在は大学院で C を学んでおり、自分が何をしているのかわかりません。
問題
もともと、makefile を使用してすべてのソースを 1 つのディレクトリに構築していましたが、これはかなりうまくいきました。しかし、私のプロジェクトは成長しており、ソースを複数のディレクトリ (ユニット テスト、ユーティリティ、コアなど) に分割したいと考えています。たとえば、ディレクトリ ツリーは次のようになります。
test/test_foo.cとの両方src/foo.cを使用しsrc/foo.hます。メイクファイルを使用して、これを構築するための最良/標準的な方法は何ですか? できれば、プロジェクトをビルドするためのルールと、テストをビルドするためのルールが 1 つずつ存在することをお勧めします。
ノート
autoconf やその他の自動ソリューションなど、これを行う他の方法があることは知っています。しかし、私は何が起こっているのかを理解し、実用的ではない可能性があるにもかかわらず、makefile をゼロから作成できるようにしたいと考えています。
ガイダンスやヒントをいただければ幸いです。ありがとう!
[編集]
したがって、これまでに提供された3つのソリューションは次のとおりです。
- グローバルに使用されるヘッダー ファイルを並列
includeディレクトリに配置する #include次のようにステートメントでパスを使用します#include "../src/foo.h"- スイッチを使用して
-I、インクルードの場所をコンパイラに通知します
これまでのところ-I、ディレクトリ構造が変更されたときにソース コードを変更する必要がないため、switch ソリューションが気に入っています。
c++ - すべての C または C++ ファイルに関連付けられたヘッダー ファイルが必要ですか?
すべての .C または .cpp ファイルにはヘッダー (.h) ファイルが必要ですか?
次の C ファイルがあるとします。
Main.C
Func1.C
Func2.C
Func3.C
main()Main.C ファイルのどこにありますか。4 つのヘッダー ファイルがあるかどうか
Main.h
Func1.h
Func2.h
Func3.h
それとも、すべての .C ファイルに対してヘッダー ファイルは 1 つだけにする必要がありますか?
より良いアプローチは何ですか?
c++ - typedef で type を使用するときにヘッダー ファイルに含めるための規則
私が作成する場合
ヘッダーファイルに「MyClass.h」を含める必要がありますか、それとも十分に宣言して転送しますか?
ヘッダー ファイル:
ここでのリンク規則は何ですか?
c++ - c++ ファイルのヘッダーとして .h を使用するのは間違っていますか?
c++ ファイルのヘッダーとして .h を使用するのは間違っていますか?
特に「Cスタイル」で書かれたコードでは、いたるところで見られます。Emacs は常に .h ヘッダーには C の強調表示スタイルを選択しますが、hpp または hh には c++ を選択することに気付きました。
ヘッダーに .h というラベルを付けるのは実際には「間違っている」のでしょうか、それとも単に私を悩ませているだけなのでしょうか?
編集:
これが私を悩ませるのには十分な (っぽい) 理由があります。プロジェクト ファイルに「hpp & cpp」というラベルが付いている場合、「grep something *pp」などで問題を解決できます。それ以外の場合は、「.h cpp」と入力する必要があります。
c++ - g++ ヘッダーが含まれています: まだ定義が見つかりません
こんばんは :)
私はg ++とメイクファイルをいじっています。私はこの点に到達しました:
foo.h:
Foo.h は最終的にメインの cpp ファイルに含まれるので、start/stop を呼び出して動作を設定できます。
それから bar.h があります:
ただし、g ++は気に入らないようです:
私はmakefileを使用しており、次のような組み合わせを試しました:
ここに bar.h を追加する必要はないと思いますが、foo.h に含めるだけで十分ではないでしょうか?
明確にするために、これは大まかに現在設定されている方法です(はい、これはより効率的な方法で実行できることを知っています):
どうしたの?g ++について欠けているものであり、ヘッダーインクルードの処理方法が含まれていると思います。正しい方向に向けてください!
編集 - 解決策を見つけました:
どっ!私は今、ばかげていると感じています。boost::asio をいじっていましたが、これをヘッダーのどこかに残していたことを忘れていました: using boost::asio::ip::tcp;
boost::asio::ip::tcp::bar 関数があるとしましょう:D
ああ、とにかくありがとう!
c - ヘッダー ファイルのインクルードはどのように行われますか?
ワークスペースに *.c および *.h ファイルを含むプレーンな C コードがあります。
構造を次のように宣言するヘッダーファイル 1.h があります。
しかし、次のように、別のヘッダー ファイル 2.h で struct my1 型の変数を宣言しようとすると、次のようになります。
この宣言ポイントでエラーが発生します。
my1 は 2.h ファイルで定義されていないようです。
ファイル 1.h には 2.h を含める必要があるため、ファイル 2.h に 1.h を含めることはできません。
私の質問は:-
この場合、コンパイル エラーを解決するには何を宣言する必要がありますか?
このすべてのことから、ヘッダーファイルのインクルードに関するさらなる質問について考えさせられました.
ヘッダー ファイルはどのように、どのような順序で、どのヘッダー ファイルが最初に、次にどのヘッダー ファイルがインクルードされますか?
ヘッダー ファイルを再帰的に含めると、1 つのファイルに他のファイルが含まれ、他のファイルに最初に含まれるというエラーが発生しますか?
セキュリティ上の理由から実際のコード スニペットを投稿できませんでした。
c++ - C++ はヘッダー ファイルを削除する必要がありますか?
Java、C# などの多くの言語は、宣言と実装を分離していません。C# には部分クラスの概念がありますが、実装と宣言は同じファイルに残ります。
C++ に同じモデルがないのはなぜですか? ヘッダー ファイルを使用する方が実用的ですか?
C++ 標準の現在および今後のバージョンについて言及しています。
objective-c - Objective-C にヘッダー ファイルを含めるコスト
#importこれは非常にばかげた質問のように思えるかもしれませんが、Objective-C にヘッダー ファイルを含める (実際には を呼び出す) コストはいくらですか? さまざまな場所に同じヘッダーを常に含めることにうんざりしているため、GlobalReferences.h一般的に参照されるいくつかのヘッダーを含むファイルを単純に作成することにしました。
使用されていない場合でも、他のファイルへの参照を含めることにはかなりのコストがかかりますか? を使用するときにリンカが他のファイルを認識しているように見えるので、私の腸は「いいえ」と言いますが#import、私のプロジェクトが関係するiPhone開発に特別な考慮が必要かどうかはわかりませんでした。何かご意見は?