- 締切済み
memtest86+のコンパイル
ご協力をお願いします。 memtest86+に少し手を加えようと思い、ソースをダウンロードしコンパイルを試みました。 ソースのままコンパイルを試みたところ、 Readmeファイルには、 %make install とすれば、コンパイル・FD作成を行うとかかれており、その通りに行いましたが、FDにはバグプログラムしか作成されません。(コンパイルは成功します) できたプログラムは、特定のテスト内容の際にエラーが連発し、最終的に "unexpected interrupt Halting " と表示されます。 他のmemtest86+ 及び memtest86でも試みましたが、いずれもバグプログラムが出来上がります。 プラットフォームは CPU:AMD Sempron OS:Fedora 9 コンパイラ:gcc4.3 メモリは正常です。 なお、Ubuntu, SUSE(共に最新版)でも同様の操作を行いましたが、 コンパイルは通っても、同じ現象が発生します。 よろしくお願いします。
- moromino
- お礼率0% (0/1)
- C・C++・C#
- 回答数1
- ありがとう数3
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- JaritenCat
- ベストアンサー率37% (122/322)
僕はあまり詳しくないのですが・・・ オリジナル(コンパイル済み状態で配布のmemtest86+)ではエラーが出なくて、ソースからコンパイルかけたものがエラーを吐くのですよね? オリジナルでもエラーが出るならハード不良を疑った方がいいかもしれませんね。 エラーが出る「特定のテスト」をもう少し詳しく書いていただければ、詳しい人が回答してくれるのではないでしょうか。
関連するQ&A
- gccでの分割コンパイルについて
参考書に分割コンパイルの方法が書いてなかったので質問させていただきます。 現在3つのソースファイルがあります。 1.header.h (関数プロトタイプ宣言) 2.kansu.c (関数の定義) 3.main.c (main()関数) ここで、main.cがheader.hをincludeしています。 このときの分割コンパイルはどのようにしたら良いのでしょうか?Makefileを作成するのでしょうか? 自分自身分割コンパイルの経験はありません。 環境は Cygwinを使ってのWindows XP コンパイラはgcc もうひとつは Visual Studio.netを使っての環境です。
- ベストアンサー
- C・C++・C#
- コンパイルできない?
数値計算用のソフトとして、コンパイラにSalfordのFORTRAN77、エディタにCpadを使用しています。 ソースコードをCpadに書き込み、コンパイルしてコマンドプロンプトを開き、必要な数値を入力して計算をしています。 ですが、どこも間違っていないソースコードを使用しているにも関わらず、「コンパイルに失敗しました」と表示され、計算ができないということが発生し困っています。 たとえば、どこも間違っていないソースコード「A」をコピーし、コピーしたソースコードをCpadに貼り付けてソースコード「B」を作成したとします。 普通であれば、「A」で計算可能であれば「B」でも可能なはずです。 ところが「B」をコンパイルしようとすると、「A」をコピー時にどこも変えていないにもかかわらず「コンパイルに失敗しました」と表示されてしまうのです。 Cpadを再インストールしてみましたが、この問題は解決しませんでした。 原因として考えられるものは何なのでしょうか? 数値計算に関してはど素人同然ですので、お手柔らかにお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- gcc バージョン違いによるコンパイルエラー
C言語でWeb系のプログラムを作成している者です。 以前まで、OSはFreeBSD 4.11-RELEASE-p12・gccのバージョンは2.95.4でコンパイルできていたプログラムが、OSはFreeBSD 5.4-RELEASE-p8・gccのバージョンは・gccのバージョンは 3.4.2で、今まで出なかったようなエラーが沢山出現し、コンパイルできなくなってしまいました。 OSをインストールし直すのは、既に稼働中のサイトですので厳しく、GCCのバージョンを下げるかソースを書き換えるかして対処する方向で行きたいと考えております。 しかし、gccの2.95.4の圧縮ファイルはもう、gccの公式サイトに落ちておらず、バージョンダウンは難しそうです。 gccのバージョンによるコンパイルエラーを乗り越えた方、ご指摘など有りましたらお教えくださると幸いです。
- ベストアンサー
- C・C++・C#
- コンパイルに関して初歩的な質問です
ソースファイルをダウンロードしてきてgccでコンパイル、インストールしようと考えています。 初歩的な質問で申し訳ないのですが、ご教示いただけると助かります。 よろしくお願いします。 質問は以下のとおりです。 (1)開発環境でなく、本番機にコンパイラを導入してソフトウェアのコンパイル、インストールを行うことは避けたほうが良いでしょうか?もしくは、必要なソフトウェアのインストールが完了した後にすぐにコンパイラをアンインストールもしくは実行権限を外しておけば問題ないでしょうか? (2)一般的に言って、あるサーバーでコンパイルしたものを別のサーバーに持っていくとすんなり動作するものでしょうか?OSバージョンは同じであるという前提です。例えばbindを--prefix=/usr/local/namedでconfigure,make,make installし、/usr/local/namedをTARで固めて別サーバーで展開した場合、問題なく動作するのでしょうか?また、このようなアプローチ自体一般的でしょうか?
- ベストアンサー
- Solaris系OS
- SunのWorkshop5.0でコンパイルしたソースはWorkshop6.0でコンパイルしたマシンで動作しますか。
SunのWorkshop5.0でコンパイルしたソースはWorkshop6.0でコンパイルしたマシンで動作しますか。 どなたかSunのWorkshop5.0 とWorkshop6.0のコンパイラの差異を教えてください。 Web上で調べてみた結果あまり大差がないように思えたのですが。。 Workshop6.0で作成したシステムがあるのですが、Workshop6.0のライセンスを紛失してしまいました。Workshop5.0はライセンス・メディア共にあるので、新しく作ったソースはWorkshop5.0でコンパイルしようと考えているのですが、うまく動作するかわかりません。もし、Workshop5.0でコンパイルしたソースがWorkshop6.0で動作しない場合、最悪、Workshop5.0でシステム全体をmake allしなくてはならないのかと考えていますが、かなりの作業ボリュームになるためできるだけ避けたいと思っています。 月曜日までに方針を決めなければならないので、どなたかご存知の方ご教示いただけませんか。 よろしくお願いします。
- 締切済み
- Solaris系OS
- 最新のgfortranでのコンパイルエラー
GNU Fortran (Rev1, Built by MSYS2 project) 9.3.0ですが、現時点での最新バージョンと思われます。以下のソースファイルをコンパイルしてみました。 module abc real x,y end module abc program test use abc x=3.14 y=5.55 print *, x,y call xxx print *, x,y end program test subroutine xxx use abc x=5.55 y=3.14 end subroutine xxx その結果、 f951.exe: Fatal Error: Reading module 'abc' at line 1 column 46: Unexpected EOF というエラーになります。 10年以上前のintel fortranだと問題なくコンパイルでき結果もOKです。 できれば新しいコンパイラを使いたいのですが、ソースをどのように改変していけばいいでしょうか。また、最新版のコンパイラをやめた方がいいのでしょうか。コンパイラを新しくして他にもトラブルが出ているのですが。 Cのカテゴリですみません。ここしか思い当たらないので。
- 締切済み
- C・C++・C#
- AKI-H83048で割り込みを使用してLEDを点滅させたいのですが、、、、
はじめまして、組み込みソフト超初心者です。 割り込みタイマを使用してLEDを特定時間点滅させる、ということを行いたいのですが、コンパイルができず、頓挫しております。どなたか、アドバイス頂けませんでしょうか。 ・開発環境はAKI-H8 3048 ・割り込みを使用してLEDを点滅させるということを目的にCでソースをコーディングしています。 ・巷の参考書など参考にしてmain、割込関数、コーディングしました。 ・コンパイラはAKI-H8マイコンキットについてきた専用CコンパイラCC38Hを使用しています。(統合開発環境はありません) 上記の条件でコンパイルすると、interruptがイリーガルとエラーが出ます エラーの出ているコードは #pragma interrupt itu0_int(vect=24) の部分です。 参考書で、interruptはコンパイラによって使用できないようなことも読んだのですが、どうすればコンパイルできるのでしょうか、また、何が足りないのでしょうか なにぶん初心者なもので、正直質問の的が絞れていないのかも解らないのですが、とにかくまず動かしたいと思い質問させて頂きました。 同じ開発環境の方が居られましたら有難いです。 何とぞよろしくお願い致します。
- ベストアンサー
- その他([技術者向] コンピューター)
- Cコンパイラ(gcc)について
はじめまして。 C言語のコンパイラについてお尋ねしても宜しいでしょうか。 以下のファイルが存在します。 ・test.c(C言語のソースファイル) ・test.exe(上記ソースをコンパイルしたもの。Windows環境で現在稼動してます) test.cの中身を一部変更し、コンパイルする必要があるのですが、 (恥ずかしながら、コンパイルした人間はもう居ないので) 何のコンパイラを使ったか、判りません。 コンパイルするときに使用したであろうコマンドがあります。 gcc test.c -WALL -03 -o test.exe 察するに、gccというコンパイラを使用したと思い MiniGW (http://yanchde.gozaru.jp/mingw/wingw_start.html) を使用してコンパイルをしてみました。 コンパイルは通るのですが、出来上がるexeファイルのサイズが 非常に小さいです。 (オリジナルのtest.exeは500KB以上ありますが、今回コンパイルで出来たものは40kbほどです) この場合、、オリジナルのtest.exeと今回コンパイルしたexeは 異なる挙動をする可能性はありますでしょうか。。 初歩的な質問で恐縮ですが、どうかご教授頂けると、幸いです。
- 締切済み
- C・C++・C#
- [Java]RMIのコンパイルエラー
JAVA RMI をしています。 スタブとスケルトンを作成する為、rmicコンパイラを使用しようとするとエラーがでました。 手順は 1.コマンドプロンプトで、クラスファイルとソースファイルが存在するフォルダに移動 2.Remoteインターフェースを作成 3.Remoteオブジェクトを作成 4.2.と3.をコンパイル 5.rmicコマンドでコンパイル ***結果***************************************** rmic pack.RemoteObj error: クラス pack.RemoteObj が見つかりません。 ************************************************ こんな感じになります。 備考として... ・javaは1.4.1_01を使用しています ・コンパイルは通りました ・rmic.exeにパスは通ってます ・クラスファイルも生成されています ・packはパッケージです どこのサイトでも書かれている手順を踏みました。 他に何か原因として考えられることはあるでしょうか??
- ベストアンサー
- Java
補足
ご返答ありがとうございます。 大変遅くなり申し訳ございません。 補足説明させていただきます。 おっしゃったように、オリジナルではエラーは出ず、ソースからコンパイルをかけたものがエラーを吐きます。 オリジナルでは問題なく動作するので、ハードエラーは考えられないかと思います。 エラーの内容としては、"Moving inversions, one & zero"の過程にて、20%に達するとエラーが連発し、青色バックであった画面が黒色バックに切り替わり、最終的に止まってしまいます。 memtest86+2.01では"Unexpected interrupt - Halting"と表示され停止し、 memtest86+1.70ではそれさえも表示されず、黒色バックにエラー表示が出たまま止まってしまいます。 ちなみに、fedoraはi386版を使用しています。 よろしくお願いします。