
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
変数の実体をtmp1.cで宣言するとして、2つ方法があります。
一つは、tmp2.cファイルの先頭でtmp1.cをincludeする方法
もう一つは、tmp2.cファイル内でexternで変数をグローバルとして宣言し、リンク時にabc/tmp1.oとefg/tmp2.oをリンクする方法
一般的には後者の方法を取ります。後者の方法でよくやるやり方は、tmp1.hというヘッダファイルの中にexternでグローバル変数を宣言しておき、このグローバル変数を利用するCファイルはtmp1.hをincludeします。
前者のやり方は、以前学生が書いていた衝撃的なコードがあって、
main.cというファイルに、
#include "file1.c"
#include "file2.c"
....
main() {
main_process();
printf("%s\n", result); // resultはchar*型のグローバル変数で、どこかのファイルで宣言されている
}
みたいな内容が書いてあり、
$ gcc -o myprog main.c
で一発コンパイルするという手法です。
なるほどなーと思いましたが、グローバル変数が絡んだ瞬間に意味が分からなくなります。
No.3
- 回答日時:
フォルダ云々はmakeファイルでのソースファイル指定がどうされるかだけのことで、グローバル変数の宣言とは無関係です。
test2.c内でグローバル変数として定義した変数をextern宣言したヘッダーファイルを作成し、そのヘッダーファイルをtest1.cとtest2.cの両方でインクルードします。
それだけです。
Cの教科書に書かれてますし、ちょっと検索しますと以下のような解説ページがみつかるはずです。
https://www.sejuku.net/blog/24107
参考まで。
No.1
- 回答日時:
別に、どのフォルダにあっても、
関数の実体にフォルダは反映されないので、
tmp1.c で書いている関数に沿ったものの宣言を、
ヘッダなり、自身のCファイル(tmp2.c)に書けばいいだけです。
きちんと別フォルダにあるオブジェクトをリンクできれば。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- Visual Basic(VBA) VBA GetAttrについて教えてください 2 2022/12/22 15:25
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) エクセルのファイルにリンクを貼る方法 4 2023/06/30 11:09
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PCに保存していた写真を見られ...
-
<a href="file:///フォルダ名/...
-
OpenFileDialogを使った後にも...
-
拡張子をつくる
-
スマホでHTMLファイルを開いて...
-
C#でEXCELファイルコンボボック...
-
VBで固定フォルダ内の *.xls ...
-
Git bashが開かなくなってしま...
-
ExcelのVBProjectがExcelを開く...
-
ファイル書込みで上層ファイル...
-
Outlookで添付ファイルの貼り付...
-
Mac Excel VBAについて
-
ファイル名とホルダ名の取得
-
50Mってどのくらいですか・・...
-
同名フォルダを作成し、そのフ...
-
メルカリを退会して再登録した...
-
linux duコマンドで困っています。
-
system関数のエラー検出
-
このプログラムなんですがsheet...
-
Excel2010に関して
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PCに保存していた写真を見られ...
-
拡張子をつくる
-
<a href="file:///フォルダ名/...
-
OpenFileDialogを使った後にも...
-
ExcelのVBProjectがExcelを開く...
-
スマホでHTMLファイルを開いて...
-
MkDir パス名が無効です
-
ExcelVBAでリンク先の対象のフ...
-
同名フォルダを作成し、そのフ...
-
Excelで外部のファイルの場所を...
-
ファイルの作成日時について
-
Excelファイルの特定のシートを...
-
秀丸のタグジャンプがうまくで...
-
EXCEL VBAのDir関数について
-
どのページにも同じメニューを...
-
「~$ファイル名.doc」というフ...
-
Git bashが開かなくなってしま...
-
メモリマップドファイルは動作...
-
50Mってどのくらいですか・・...
-
EPSON emqファイルをPrint CDで
おすすめ情報