質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
g++

g++はGNUコンパイラコレクション(gcc)のC++コンパイラーです。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

1098閲覧

g++ コンパイラ  ヘッダー、ソースファイルとの関係が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

g++

g++はGNUコンパイラコレクション(gcc)のC++コンパイラーです。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

コンパイラ

コンパイラは、プログラミング言語で記述したソースコードを、コンピュータの実行形式であるオブジェクトコードに変換するプログラムです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/09/09 04:38

編集2021/09/09 04:39

###やりたいこと
ヘッダーとソースファイルがあるプロジェクトで正しいコンパイラコマンドが知りたい。

###知りたいこと
ヘッダーとソースファイルはどうやってコンパイルすることになっているのでしょうか?

###質問内容
提示コードのコマンドライン部ですがコンパイルは通るのですが画面に"Hello Wolrd"の文字が表示されないためコマンドラインのコマンドを間違えていると思います。

参考サイト: https://kaworu.jpn.org/cpp/g++
参考サイト: https://docs.oracle.com/cd/E19957-01/806-4837/Using.html

shigurechan@shigurechan-System-Product-Name:~/program/AAEditor/src$ g++ Main.cpp test.cpp -o sample shigurechan@shigurechan-System-Product-Name:~/program/AAEditor/src$ ./sample rrrr shigurechan@shigurechan-System-Product-Name:~/program/AAEditor/src$

hpp

1#include <iostream> 2 3class test 4{ 5public: 6 7 test(); //コンストラクタ 8 9};

cpp

1#include "test.hpp" 2 3test::test() 4{ 5 std::cout<<"Hello World"<<std::endl; 6} 7

cpp

1#include <iostream> 2#include "test.hpp" 3int main() 4{ 5 test t(); 6 std::cout<<"rrrr"<<std::endl; 7 8 return 0; 9}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2021/09/09 04:58

言わないことじゃない。だから今更のようにこのような質問が出てくる。
mike

2021/09/09 06:21

このコードそのものは書かれた通りに作動しています。問題はありません。
guest

回答2

0

ベストアンサー

test t(); は 「testを返す関数t」の宣言 と解釈されます。 (int f(); と同じです)

正しくは
test t;
もしくは
test t{};

※ なのであなたの推測はまったくのお門違い

投稿2021/09/09 04:49

編集2021/09/09 05:35
episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/09/09 05:02

なるほど。質問ですがヘッダーファイルはコンパイル上どうなるのでしょうか?
episteme

2021/09/09 05:30

どうなる、とは? コード(~.cpp)に#includeされたらその位置に展開され、コンパイルされます。
dodox86

2021/09/09 05:43

似たようなことを以前に(恐らく何度も)教えてもらっている。 「C言語」ヘッダーに書いたstatic int 変数がそのファイルの外からでもアクセス出来てしまう。 https://teratail.com/questions/336397 いい加減にしなさい。
episteme

2021/09/09 05:48

> 似たようなことを以前に(恐らく何度も)教えてもらっている。 そーなんだ...教え甲斐がないな。
K_3578

2021/09/09 05:53

100歩譲って覚えてられなかったとしても 200件以上も質問してるんだから自分の過去質問で解決できないかとか先に考えないのだろうか。
episteme

2021/09/09 06:38

解決したんならcloseしてくださいねー
guest

0

test t; という宣言で変数 t を宣言しても、
その t は使わないのだから、変数宣言は不要です。
test(); というコンストラクタを呼び出す式文だけで、
"Hello Wolrd" の文字が表示されます。

投稿2021/09/09 12:00

編集2021/09/09 12:01
kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問