(toppers-users 2003) Re: コンパイル
Kyoei Electronics
kyoei-info @ kyoei-ele.com
2005年 5月 30日 (月) 17:46:23 JST
高木様、宿口様、もなか様
早速の回答ありがとうございます。
おかげさまで、浮動小数点演算の問題が解決いたしました。
> このエラーは、何らかの文を書いた後に宣言を行おうとしたときにも出ます。
まさしく、高木様がご指摘した通りでした。
unsigned short *s; // LED制御用
s = (unsigned short *)0xFFFFFC84; // アドレスセット
float flt_data = 0.0; // float型 確認用(この行がエラー)
上記のように、変数sにアドレス値をセットした後で、float型変数を宣言して
おりました。
現在使用しております、gcc 2.95.3では何か書いた後で宣言するとエラーにな
るようです。float型ではなく、int型変数の宣言を追加した場合も、int型変数
宣言がエラーになることを確認しました。
unsigned short *s; // LED制御用
s = (unsigned short *)0xFFFFFC84; // アドレスセット
int data = 0; // int型 確認用(この行がエラー)
最近の高性能なコンパイラに慣れてしまっており、上記の順序については、
まったく気づきませんでした。
以下のようにソースコードを変更し、コンパイル成功を確認いたしました。
unsigned short *s; // LED制御用
float flt_data; // float型 確認用
s = (unsigned short *)0xFFFFFC84; // アドレスセット
flt_data = 0.0; // float型 確認用
> いえ。そういうわけではないです。
> sh-hitachi-elf では -m2 オプションで、他のアーキテクチャにおける
> -msoft-floatと同様の状態になります。
> (この事は逆アセンブルで確認できます。)
gccのオプションに、SHプロセッサの -msoft-float オプションが無い理
由が分かりました。ありがとうございます。
> GCCの場合、使用者が多い機能のバグは少ないですが、使われない機能には
> バグが潜んでいると疑ってかからないと仕事では使えません。
助言ありがとうございます。
以上、お騒がせいたしました。
----- Original Message -----
From: "Masaki Muranaka" <monamour @ monaka.org>
To: <users @ toppers.jp>
Sent: Monday, May 30, 2005 5:31 PM
Subject: (toppers-users 2002) Re: コンパイル
> こんにちは。
>
> もうすっかり余談モードですが…。
>
> 高木信尚 wrote:
> > 2.95.xではエラーになります。
> > 3.xになって、部分的にでもC99への対応が始まってからはコンパイルが通るよう
になっています。
>
> 2.95.xの件、こちらでも確認取れました。
> // やはり古いバージョンも活かしておかなきゃダメか…。
>
> 余談ですが、3.4.3 では -ansi や -std=c89 にしても、
> 演算後のfloat宣言でwarningもerrorも出ませんね。
> pedanticもつけて、やっとwarningが出る程度。
>
> --
> from もなか
>
***************************************************
(株) 協栄エレクトロニクス 営業担当 吉村 泰明
〒810-0042
福岡市中央区渡辺通り1-1-1電気ビル別館サンセルコ4F
TEL(092)761-6657 FAX(092)761-4126
携帯090-31908423
お問い合わせはこちら yoshimura @ kyoei-ele.com
ホームページはこちら http://www.kyoei-ele.com
トロン学習キット http://www.kyoei-ele.com/goods/itron.html
****************************************************