私はC++の学習者です。より大きなプロジェクトでコンパイルプロセスを高速化するためにコードを複数のファイルに分割するコンセプトに出くわしました。C++リンカーはどのような.cppファイルを使用するかを知っています
しかし、この本は私には言いませんが、私は他の本やウェブで見つけようとしましたが、幸運にもリンカー(コンパイル時)がどのようなファイルを含んでいるか知っています。
私は新しいファイルを作成するときに、ヘッダをメインファイルに#include "newfile.h"
で接続しますが、このヘッダでは関数の定義の場所を書きません。
どのように私はプロセスがメインファイルから始まり、そこに他のファイルとの「接続」があると思いますか?問題は、私が見たところでヘッダーファイルと同じ名前を付ける必要がないそれらの.cppファイルを見つける方法です。
Exmple:
メインファイル:
#include <iostream>
#include "krneki_H.h"
using namespace std;
int main()
{
krneki1();
krneki2();
krneki3();
}
とヘッダファイル:
void krneki1();
void krneki2();
void krneki3();
また、新しい.cppファイル:
#include <iostream>
#include "krneki_H.h"
using namespace std;
void krneki1() {
cout<<"Krneki1"<<endl;}
void krneki2() {
cout<<"Krneki2"<<endl;}
void krneki3() {
cout<<"Krneki3"<<endl;}
第2のcppファイルを使用するように指示がないことに注意してください。それは単にそれを使用することを知っています。マップ内のすべての.cppファイルを検索しますか?
ありがとうございました。
迷惑メールにしないでください! Cは別の言語です! – Olaf
何も知らない。リンクするファイルを教えてください。 – tkausl
リンカはソースコードをまったく使用しません。プログラマはリンカに必要なファイルを教えなければなりませんが、 '.cpp'や' .h'ファイルではなくコンパイルされたバイナリファイルです。 – Galik