
C言語プログラマとしては、スタートアップコードは・・・ ・自分が書いたプログラムを、直接動かすために必要なライブラリ ・それはコンパイル後、リンカによって追加されるライブラリこれは、 どういう意味でしょうか?分かりやすく教えていただけると幸いです。すみません。で、
以下のかぶくんまんさんの回答です。
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
で、
C言語におけるプログラミングとは「main関数を書くこと」に他ならない。なぜ「main関数を書く」ことがC言語におけるプログラミングに他ならないのかと言えば、それは偏に「C言語のコンパイラはmain関数を呼び出すプログラムを生成するから」です。それがmain関数を求めるので結果的にmain関数がリンクされ、そしてmain関数が求めるままに他の関数もリンクされていくわけです。 で、その「main関数を呼び出すプログラム」こそが、C言語における「スタートアップコード」。
という回答で、main関数以降は、プログラマが書くのですよね?プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?教えていただけると幸いです。すみません。
という所が分かりません。教えていただけると幸いです。すみません。以下のURL
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
> そしてmain関数が求めるままに他の関数もリンクされていくわけです。
とはどういう事でしょうか?質問文に書いたようなmain()関数だけのプログラムでなくて、複数の関数が関数を呼び出して、それらが別の~.cとかライブラリに定義されているような大きなプログラムの話では。
大きめの複数ファイルで構成されたサンプルとか持って来て、main.cだけコンパイルすると、main.cに書かれている(求められている)アレやコレが無いぜってエラー出してくれるハズ。
--
例に挙げてる、
main(){int a, b; a=2; b=3; a=a+b;}
はmain()関数は他の関数とか求めてないから、リンクされないかも。
(もしかして、何もしなくて標準ライブラリはリンクされるかも。)
一方で、
#include<stdio.h>
main(){printf("Hello World.");}
はprintf関数を含む標準ライブラリとかが必ずリンクされるハズ。
No.2
- 回答日時:
> main関数以降は、プログラマが書くのですよね?
main関数以降というのは、
1:#include <stdio.h>
2:int main()
3:{
4: printf("Hello\n");
5: return 0;
6:}
7:
3~6行目の事?これはmain関数の本体です。2行目だけがmain関数ではありません。
7行目の事?空行は意味無いです。書きたきゃ書いていいと思うけど。
--
> プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?
C言語でプログラム作成、コンパイル、リンクして、a.outなりa.exeの実行形式を作成、実行した事が無いんでしょうか?
上の「Hello」を表示するプログラムは、6行書いてコンパイル、リンクすると実行形式の.exeなどが作成され、.exeをダブルクリックで実行すると「Hello」と表示されます。
上の6行以上はプログラムを書く必要はありません。
机上であれこれ考えて頓珍漢な事を聞くより、学習用の開発環境などをダウンロード、インストールして、実際にプログラム書いてみては。
学習サイトやサンプルは探せばあるでしょうし。
昔だと超お手軽なコンパイラがあったけど、最近は統合開発環境付きの物はデカくて重くてで、お勧め出来るのがちょっと無いかも。
そしてmain関数が求めるままに他の関数もリンクされていくわけです。とはどういう事でしょうか?教えていただけると幸いです。すみません。
No.1
- 回答日時:
どこが質問文なのか?どこが別の記事などの引用なのか?分からない。
質問文をしっかり読み返してみては?
スマホで書いてるなら、縦横回転させて、改行位置とかしっかり確認した方がいいと思う。
--
例えば、
main(){printf("Hello World.");}
と
main(){int a, b; a=2; b=3; a=a+b;}
って別々なプログラムをコンパイル、リンクして作成した2つの.exeファイルを、バイナリエディタや逆アセンブラなどで見比べてみるとか。
で、同じになってる部分が質問文で言うスタートアップとかリンカが追加した部分とかになるような話では。
main関数以降は、プログラマが書くのですよね?プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?教えていただけると幸いです。すみません。これが質問です。URLを貼っている部分と、C言語プログラマ、、、と、C言語におけるプログラミング、、、の所です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visual C++で作ったプログラム...
-
プログラミングの問題と解答例...
-
DataGridViewで指定列の背景色...
-
指定したフォルダーを最前面表...
-
c言語のサイコロを100回振って...
-
VBA
-
2値化した画像の黒い部分のピク...
-
世界一美しいソースコード
-
VB6 画面サイズ変更について
-
サイクロマチック數とはどうい...
-
C++ Builder6 をふたたび動か...
-
CCSコンパイラにてLED点灯プロ...
-
自分のHTMLサイトでRSSを読み込...
-
powershell を使いカレントディ...
-
Macターミナルで実行中のプログ...
-
タスクマネージャーのプロセス...
-
TCP/IP通信時のサーバーからの受信
-
メモリが不足しています(VBA)
-
VBSの処理中一旦処理を止めて再...
-
パソコンの演算速度について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
マイコンからプログラムを読み...
-
指定したフォルダーを最前面表...
-
無限ループ中にある任意のキー...
-
プロダクションコードとは?
-
2値化した画像の黒い部分のピク...
-
COBOLのS9タイプからXタイプへ...
-
プログラミングの問題と解答例...
-
世界一美しいソースコード
-
C言語primeについて
-
C++ 画像をダウンロード
-
マウスカーソルの表示・非表示
-
XPathの関数「text()="value"」...
-
三次元のグラフを書きたいので...
-
VB6 画面サイズ変更について
-
VBAにてTIFFから画像を取込みた...
-
初級者の質問――time_tについて
-
お掃除ロボットのソースコード
-
Pythonで仮想通貨の自動売買が...
-
C言語にすごく悩んでいます。
おすすめ情報