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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# 競技プログラミングに関する質問です。 3 2022/04/03 19:51
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# C言語 3 2022/10/04 15:07
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Webプログラムってネイティブア...
-
VBA
-
Excel VBA じゃんけん
-
指定したフォルダーを最前面表...
-
COBOLのS9タイプからXタイプへ...
-
VBAのプログラムが動いているか...
-
vba listviewにおけるtextのAli...
-
Visual C++でDESを使って文字列...
-
コンパイルエラーの意味
-
プロダクションコードとは?
-
プログラミングの問題と解答例...
-
GPUとCPUを使えば簡単に高速化...
-
連立方程式
-
無限ループ中にある任意のキー...
-
CGIの記述について教えてくださ...
-
ポーティングって?
-
URLの最初の「h」を略す
-
Macターミナルで実行中のプログ...
-
VBAの配列サイズとメモリに関して
-
緯度、経度の 10進法と 60進法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
指定したフォルダーを最前面表...
-
Webプログラムってネイティブア...
-
COBOLのS9タイプからXタイプへ...
-
VBコンソールアプリ(.NET Frame...
-
VBA
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
無限ループ中にある任意のキー...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
VBAにてTIFFから画像を取込みた...
-
C言語でpingを実行してその結果...
-
三次元のグラフを書きたいので...
-
マイコンからプログラムを読み...
-
C言語→MATLABへの変換で、困っ...
-
XPathの関数「text()="value"」...
-
URLの最初の「h」を略す
-
プログラミングの問題と解答例...
おすすめ情報