
今まで疑問に感じつつないがしろにしていた部分なんですが、
例えばWin32APIを使用してプログラミングする時にコンパイラはリンクの際にwindowsのシステムフォルダ内にあるdllファイルを参照してリンクするんですよね(あってます?)?ではコンソールプログラム(dos上のプログラム)をリンクする際にはどうなるのでしょうか(例えばCの標準関数のライブラリはどこにあるのでしょうか?)?
私の予想では標準関数に関してはコンパイラが予め用意している静的ライブラリを使ってリンクしているんじゃないかと思うのですが実際どうなんでしょうか?
大した質問でもないのに長々とした文章になってしまいましたがよろしくお願いします。
No.2ベストアンサー
- 回答日時:
> 例えばCの標準関数のライブラリはどこにあるのでしょうか?
Borland C++Compiler 5.5の場合
C:\borland\bcc55\Lib
Visual C++ 6.0の場合
C:\Program Files\Microsoft Visual Studio\VC98\Lib
APIで使われれるライブラリも同じ場所にあると思います。
> コンソールプログラム(dos上のプログラム)をリンクする際
コマンドラインで実行する場合、「bcc32 ソースファイル」「cl ソースファイル」のようにコンパイルとリンクを同時に行う場合には標準ライブラリの指定を省略することが可能ですが、コンパイルとリンクを別々に実行する場合はリンクコマンドで標準ライブラリの指定が必要です。
「c0x32.obj cw32mt.lib import32.lib」、「kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib」など。
No.3
- 回答日時:
>リンクの際にwindowsのシステムフォルダ内にあるdllファイルを参照してリンクするんですよね
違います。リンク時は参照しません。
dllの情報を持ったライブラリをリンクします。
場所は既に回答されている通りです。
No.1
- 回答日時:
> 例えばCの標準関数のライブラリはどこにあるのでしょうか?
Borland C++Compiler 5.5の場合
C:\borland\bcc55\Lib
Visual C++ 6.0の場合
C:\Program Files\Microsoft Visual Studio\VC98\Lib
APIで使われれるライブラリも同じ場所にあると思います。
> コンソールプログラム(dos上のプログラム)をリンクする際
コマンドラインからでは「bcc32 ソースファイル」「cl ソースファイル」でコンパイルとリンクを同時に行う場合には標準ライブラリの指定を省略することが可能ですが、コンパイルとリンクを別々に実行する場合はリンクコマンドで標準ライブラリの指定が必要です。
「c0x32.obj cw32mt.lib import32.lib」、「kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib」など。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) F-BASICで計算中の実行が中途で勝手に止まり、大変困っています。 2 2023/03/02 16:15
- Ruby VBA 2 2023/01/14 14:14
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- Windows 8 win8 "ベータ ワールドワイド言語サポートで Unicode UTF-8 を使用"を出したい 2 2023/05/23 19:57
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Excel(エクセル) Excel 参照元の値を参照したい 1 2022/08/20 18:58
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
- iPhone(アイフォーン) 仕事でPDFファイルをダウンロード、閲覧するのにiBooksを使っていますが、ライブラリに凄い数のフ 2 2022/11/16 07:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
静的/動的リンクライブラリにつ...
-
VS2010にて、依存関係とビルド順
-
「MFCを使用しない」から「MFC...
-
C/C++の.libについて教えてくだ...
-
ライブラリのリンクについて
-
visual studio community2017 O...
-
VB2008でのDLL作成方法について
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
” OS ビルド ” の意味が分か...
-
VBAを何回も作り直して、容量が...
-
VB2005でデバッグ実行できない
-
コンパイルできません。
-
実行後にコンパイルに失敗しま...
-
外部シンボル" ~~"は未解決で...
-
プログラミング言語の記法について
-
各言語の違いのついて
-
VC 2008 C# 複数プロジェクトの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スタティックリンクライブラリ...
-
スタティックライブラリ関係の...
-
C++Builder リンカエラーとは?
-
visual studio community2017 O...
-
【VS2008 C++】2つのプロジェ...
-
fatal error LNK1104: ファイル...
-
「MFCを使用しない」から「MFC...
-
#pragma commentの相対パス指定
-
静的/動的リンクライブラリにつ...
-
C/C++の.libについて教えてくだ...
-
VS2010にて、依存関係とビルド順
-
C++によるPostgreSQLの接続
-
WindowsにおけるPostgreSQL+C言...
-
'stdafx.h'のエラーに関して
-
C言語のPathFileExistsについて
-
eclipse+MinGWの環境で外部ライ...
-
VC++でビルド時の、リンク警告 ...
-
exeファイルはどのdllを参照す...
-
error LNK2001: 外部シンボル "...
-
#include <winreg.h>をインクル...
おすすめ情報