初期値無し変数の重複(Diab)

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
りった

初期値無し変数の重複(Diab)

#1

投稿記事 by りった » 14年前

先日は回答頂き大変助かりました。有難うございます。
五月雨になってしまい恐縮なのですが、gccだけでなくDiabでも同様の
問題が発生しました。(一部の基板用ソフトはDiabを使用していました。)
Diabでは-fno-commonのオプションをサポートしていないようです。
Diabで同様のオプションをご存じでしたらご教示頂けますでしょうか?

自分でもググっているのですが見つかりません。お手数をおかけし恐縮ですが
宜しくお願いします。

前回の質問は解決済みにしてしまったため、編集出来ないようです。
トピックが増えてしまい申し訳ないのですが、新トピックを立てさせて頂きました。

■前回質問内容
<初期値無し変数の重複>
今まで2つの基板で動作していたソフトを、1つの基板で動作させようとしています。
つまり、両方のソースを取り込んだ、1つの実行ファイルを作ろうとしています。
同じ名前の定義が有る場合は対処が必要なので、まずは全オブジェクトファイルを
リンクしてエラーを出すことによる抽出を試みました。
結果、関数及び初期値あり変数についてはエラーが出るので抽出出来たのですが、
初期値の無い変数については、二つのファイルで同じ名前の定義をしていても
エラーにならず、抽出出来ませんでした。
(別途実験したところ、一つの変数が出来て共有されるようです。)
初期値無し変数の重複を検出する方法をご存知でしたら、ご教示頂けますでしょうか。

補足
・コンパイラはgccを使っています。
・ファイル数が膨大で、人海戦術は出来れば避けたいです。

■前回回答内容
gccの-fno-commonオプションが役立つかもしれません.
参考:http://www.asahi-net.or.jp/~wg5k-ickw/h ... html#SEC43

■前回回答内容の結果
ご教示頂いたオプションでgccについては解決しました。

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: 初期値無し変数の重複(Diab)

#2

投稿記事 by beatle » 14年前

Diabについてはまったく知識がありませんが,初期値なし大域変数を共通ブロックではなくbssセクションに吐き出すことができれば,リンク段階で重複エラーを出すことができるかもしれません.
gccの-fno-commonオプションは,まさにそれを指示するオプションです.
今検索したら-Xbss-common-offオプションというものがありました.お試しください.
http://www.vxdev.com/docs/vx55man/diab5 ... tm#3002822

りった

Re: 初期値無し変数の重複(Diab)

#3

投稿記事 by りった » 14年前

解決にチェックする前に、リターンキーを押したら送信されてしまいました。失礼しました。

閉鎖

“C言語何でも質問掲示板” へ戻る