他の.cを呼ぶには – プログラミング – Home

通知
すべてクリア

他の.cを呼ぶには


vds
 vds
(@vds)
ゲスト
結合: 17年前
投稿: 1
Topic starter  

VC++6を使用しています。
同じプロジェクトの中で、a.cとb.cがあります。
a.cからb.cを呼ぶ、a.c内でのコーディング方法は
どうなるのでしょうか?


引用解決済
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

----------------- 例 ---------------

--- b.h ---
#ifndef B_H__
#define B_H__

int add(int x, int y);

#endif

--- b.c ---
#include b.h

int add(int x, int y) {
return x + y;
}

--- a.c ---
#include <stdio.h>
#include b.h

int main() {
std::cout << add(1,2) << std::endl;
return 0;
}


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

VC6は忘却のかなたですが、.cだと、明示的に設定を変えなければ
(C++ではなく)C言語になりませんでしたっけ。

# てか、<stdio.h>なのにstd::coutの時点で単純ミスっぽい気も。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> てか、<stdio.h>なのにstd::coutの時点で単純ミスっぽい気も。

ぐげー


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

仕切り直し:

--- b.h ---
#ifndef B_H__
#define B_H__

#ifdef __cplusplus
extern C {
#endif

int add(int x, int y);

#ifdef __cplusplus
}
#endif

#endif

--- b.c ---
#include b.h

int add(int x, int y) {
return x + y;
}

--- a.c ---
#include <stdio.h>
#include b.h

int main() {
printf(%d\n, add(1,2));
return 0;
}


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

最終的にはリンクされて一つの実行ファイルになるのだから
呼び出そうとしている対象のプロトタイプがわかれば、
OKですね。
επιστημηさんが書かれているのはそういう事です。

通常は、使い回しまで考慮してヘッダーファイルに関数のプロトタイプを
かいて、使う側のソースファイルにインクルードします。
基本的には標準関数と使いたい時に対応するヘッダーファイルを
インクルードするのと同じ事です。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました