コンパイルの仕組みを説明できる人はいますか?
コンパイルがどのように機能するのか理解できないようです..
より具体的には、ここに例を示します.Lua状態をロードするために、MSVC++ 6でいくつかのコードを記述しようとしています..
私はすでに:
- ライブラリとインクルード ファイルの追加ディレクトリを適切なディレクトリに設定します。
- extern "C" を使用 (Lua は C のみと聞いているため)
正しいヘッダファイルをインクルード
しかし、未解決の外部シンボルに関する MSVC++6 のエラーがまだ発生しています (使用した Lua 関数の場合)。
この問題を解決して先に進む方法を知りたいのですが、関連する基本的なプロセスを理解するようになった方がはるかに良いと思います. 私が知りたいのはプロセスです..次のようになります。
ステップ1:
- 入力: ソースコード
- プロセス: 解析 (おそらくここに詳細を追加します)
- 出力: ここに出力されるものは何でも..
ステップ2:
- 入力: ステップ 1 の出力に加えて、他に必要なもの (ライブラリ? DLL? .so? .lib? )
- プロセス: 入力に対して行われることすべて
- 出力: 出力されるものは何でも
等々..
ありがとう..
おそらく、これはシンボルとは何か、「リンク」とは何か、「オブジェクト」コードとは何か、または何かを説明するでしょう..
ありがとう..初心者でごめんなさい..
PS これは言語固有である必要はありません..しかし、あなたが最も慣れている言語で自由に表現してください.. :)
編集:とにかく、エラーを解決することができました.libファイルをプロジェクトに手動で追加する必要があることがわかりました; IDE 設定またはプロジェクト設定でライブラリ ディレクトリ (.lib が存在する場所) を指定するだけでは機能しません。
ただし、以下の回答は、プロセスをよりよく理解するのに多少役立ちました。どうもありがとう!.. まだ完全なガイドを書きたい人がいたら、どうぞ.. :)
編集: 追加の参照用に、1 人の著者 (Mike Diehl) による 2 つの記事を見つけて、これを非常によく説明しています.. :) コンパイル プロセスの調査: パート 1 コンパイル プロセスの調査: パート 2