
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 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
プログラムがどこから始まるように実行ファイルを作るのかは、実行ファイルを最終的にまとめるリンカが設定します。
それを、C言語用に main 関数を呼び出すスタートアップから始まる様に、コンパイラドライバが、リンカに指定します。
スタートアップが、main 関数を呼び出す様にしているので、リンカは main 関数を探してリンクします。
また、main 関数が使う様にしている関数や変数も、リンカが探してリンクし、以下同様に、必要な物を探して実行ファイルにします。
main関数以降は、プログラマが書くのですよね?プログラムをリンカで関数をリンクしていくということでしょうか?教えていただけると幸いです。すみません。
C言語におけるプログラミングとは「main関数を書くこと」に他ならない。なぜ「main関数を書く」ことがC言語におけるプログラミングに他ならないのかと言えば、それは偏に「C言語のコンパイラはmain関数を呼び出すプログラムを生成するから」です。それがmain関数を求めるので結果的にmain関数がリンクされ、そしてmain関数が求めるままに他の関数もリンクされていくわけです。 で、その「main関数を呼び出すプログラム」こそが、C言語における「スタートアップコード」。
というのは、正しいのでしょうか?教えていただけると幸いです。すみません。
No.3
- 回答日時:
>main関数が求めるままに他の関数もリンクされていくわけです。
はどういう意味でしょうか?ごめんなさい、何を質問しているのか分かりません。
知恵袋の他人の回答の意図を聞いているのなら、そんなの追求することは、C言語の学習において意味はありません。
「main関数が求めるまま」というのが、そもそも、日本語としておかしいし。
本当は、ここまでを聞きたいのですが。
C言語プログラマとしては、スタートアップコードは・・・ ・自分が書いたプログラムを、直接動かすために必要なライブラリ ・それはコンパイル後、リンカによって追加されるライブラリこれは、 どういう意味でしょうか?分かりやすく教えていただけると幸いです。すみません。で、
以下のかぶくんまんさんの回答です。
https://detail.chiebukuro.yahoo.co.jp/qa/questio …
No.2
- 回答日時:
>プログラマが関数をリンクさせる様なプログラムを書くのではないのでしょうか?教えていただけると幸いです。
すみません。「リンクさせる」という意味がわかりません。
関数は必要に応じて作るものなので、リンクしなければいけないというものではありません。
小さなプログラムなら、mainの中で完結することもあります。
main以降は、プログラマが書くわけですよね?では、
main関数が求めるままに他の関数もリンクされていくわけです。はどういう意味でしょうか?教えていただけると幸いです。すみません。
No.1
- 回答日時:
初歩的なことを質問しているように見えますが、回答が高度で、まずは基礎的なところを把握された方がいいと思います。
>main関数以降は、プログラマが書くのですよね?プログラマが関数をリンクさせる様なプログラムを書くということでしょうか?
そもそも、プログラムには「書く目的」があります。
プログラムは、「入力」=>「処理」=>「出力」という動きが基本になります。
例えば、入力した数字に、1を足した答えを出す、など。
処理が、プログラムに相当します。
C言語で書かれたプログラムは、まず「main関数」から実行されることになっています。これは、そのような決まりを作ったからです。
他の関数は自由な名称(ルールはありますが)をつけることができます。
目的に応じて作ります。
最初の質問の、プリプロセッサやリンカの話は、初期段階ではあまり重要ではありません。必要になってから学習すればよいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
ポーティングって?
-
2値化した画像の黒い部分のピク...
-
COBOLのS9タイプからXタイプへ...
-
C言語primeについて
-
プロダクションコードとは?
-
指定したフォルダーを最前面表...
-
オークションのプログラム作成
-
プログラミングの問題と解答例...
-
Visual Studio .NET C# でDLLを...
-
"サービス"と"常駐プログラム"...
-
Visual C++でDESを使って文字列...
-
DataGridViewで指定列の背景色...
-
Macターミナルで実行中のプログ...
-
C# シリアル通信でデータ受信...
-
メモリが不足しています(VBA)
-
winsockでソケット通信の開発を...
-
H8 マイコン セクションの設...
-
VBSの処理中一旦処理を止めて再...
-
ACCESS側からEXCELの書式を設定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
指定したフォルダーを最前面表...
-
マイコンからプログラムを読み...
-
初級者の質問――time_tについて
-
2値化した画像の黒い部分のピク...
-
プロダクションコードとは?
-
gccでスタックオーバーフローの...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
expectを使用しない対話型処理
-
C言語で1000までの素数を求める...
-
c言語 コマンドライン引数
-
Ofの使い方
-
COBOLのS9タイプからXタイプへ...
-
winsockを使った通信方法
-
無限ループ中にある任意のキー...
-
通信ゲームを作りたいんですが
-
デュアルCPUでのプログラミング...
-
HPBが立ち上がらない
-
遠方界のプログラム
おすすめ情報