- 5609. CCS-Cでの分割コンパイルについて [makoto] 2005/07/21 22:27
- いつも大変お世話になってます。makotoです。
CCS-Cコンパイラでの分割コンパイルを試みていますが失敗します。CCS-Cコンパイラーで分割コンパイルは可能なのでしょうか?
できるとしたら、#fuseや#deviceはどのファイルに入れるのがよいのでしょうか?
(分割コンパイルは他のコンパイラ等で未経験の初心者です。お手柔らかにご教授下さい。)
main.h
#fuse , #deviceを記述
main.c
#include "main.h"
#include "sub.h"
関数main()を記述
main()でsub.cで定義されている関数test()を呼び出し
sub.c
#include "sub.h"
関数test()の内容を記述
sub.h
関数test()のプロトタイプ宣言
テスト結果
プロジェクトをコンパイルする/main.cをコンパイルする
→コンパイルエラー 「test()の内容がみつからない」
sub.cをコンパイルする
→コンパイルエラー 「main関数がみつからない」
MPLAB ver6.40
CCS-C PCWH ver3.188(MPLABに統合して使用)
分割コンパイルをしたい理由:
main.cのプログラム量を減らし読みやすくする
sub.cに入れた関数を他プログラムで再利用するため
- 5612. 投稿者削除 [ ] 2005/07/22 09:07
-
- 5614. Re: CCS-Cでの分割コンパイルについて [PIC初心者] 2005/07/22 14:29
- >分割コンパイルして1つにリンクしたいのなら、できないと思う。
>#include を使ってコンパイルするしかないよ。
>
>#include "main.h"
>#include "sub.h"
>#include "main.c"
>#include "sub.c"
>
PIC18系は、PROGRAMメモリ容量も大きめですが、
この場合でも、分割コンパイルは出来ないのでしょうか?
- 5615. 投稿者削除 [ ] 2005/07/22 15:09
-
- 5618. Re: CCS-Cでの分割コンパイルについて [makoto] 2005/07/23 19:39
- やはり やったことある人はいないのでしょうか?
それではC18コンパイラーではどうでしょうか。
PICで分割コンパイルをやったことある人、やろうと試みた人の返信をお待ちしています。
追記:
私はPIC18F452でやってます。たしかに18F452
はROM,RAMともに大きく、分割コンパイルできると
いいのですが、そもそもコンパイラーが対応している
かが気がかりです。
- 5630. Re: CCS-Cでの分割コンパイルについて [nyannnyannko] 2005/07/24 23:28
C18 の場合はマイクロチップ純正なのでちゃんとリンカーに対応しています。
バージョンアップの料金まで考慮すると一番安価な C言語になるでしょう。
アセンブラとの混在で使用しています。
- 5640. Re: CCS-Cでの分割コンパイルについて [makoto] 2005/07/26 22:42
- nyannnyannkoさん、情報ありがとうございます。
C18の方を調べてみます。
>C18 の場合はマイクロチップ純正なのでちゃんとリンカーに対応しています。