CPU Multi ProcessingをEnableにすると動作しなくなる

このQ&Aのポイント
  • すでにVB6で作成したプログラムがあり、IBM Think Pad T42にインストールして使っていた自作プログラムが、新しく購入したT60で動作しなくなりました。
  • T60ではBIOSでCPU Multi ProcessingをDisableにすると、この不具合はなくなるようですが、原因はまだわかりません。
  • コンパイルはネイティブコード・コンパイルを使用していますが、PCODEコンパイルでも同じ現象が発生します。
回答を見る
  • ベストアンサー

CPU Multi Processing をEnableにすると動作しなくなる。

すでにVB6で作成したプログラムがあり、IBM Think Pad T42にインストールして使っていた自作プログラムがあります。 このプログラムを客先に納入することになり、あらたにT60を購入し 客先に同じプログラムをPCごと納品しようとおもい、動作チェックすると、T42では問題なく動作していたプログラムが、起動したり、しなかったり、不安定な状態になりました。 その後の調査で、どうやらT60ではBIOSでCPU Multi Processing をDisableにすると、この不具合は無くなるようなのですが、いまだに原因はわかりません。 CPU Multi Processing がEnableだと、なにか特殊なプログラミングが 必要なのでしょうか? コンパイルはネイティブコード・コンパイルを使用していますが、P-CODEコンパイルでも同じ現象が発生します。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

>CPU Multi Processing がEnableだと、なにか特殊なプログラミングが必要なのでしょうか? デュアルコアプロセッサ、マルチプロセッサに対応したコンパイラ、ライブラリ、実行時ライブラリ、DLLが必要です。 >コンパイルはネイティブコード・コンパイルを使用していますが、P-CODEコンパイルでも同じ現象が発生します。 コンパイル時に、デュアルコアプロセッサ、マルチプロセッサに対応していないコンパイルを行うと、そのプログラムは、シングルコアプロセッサ、シングルプロセッサ環境下ででしか動かない可能性が出て来ます。 デュアルコアプロセッサ、マルチプロセッサ環境下では「同時に動く筈の無い複数の処理が同時に実行される可能性」がある為「デュアルコアプロセッサ、マルチプロセッサを想定していないプログラムを実行すると、何が起こるか判らない」です。

shouichi5928
質問者

お礼

お返事ありがとうございます。かなり昔から利用しているCのDLLを利用しているため、このDLL側にデュアルコアへの対応が必要そうなきがしました。

関連するQ&A

  • VS2010環境で2点ほど質問

    質問 1. コンパイル時 warning C4793: *******ネイティブ関数としてコンパイルされました: 非 clrcall 仮想呼び出しサンクは、ネイティブとしてコンパイルする必要があります といった警告が数行にわたって出力されます デバッグして動作に問題ないことはわかっているのでコンパイル時に 煩わしいこのメッセージ出力をさせなくしたいと思い該当コードの前に #pragma warning(disable: 4793) を追記したのですが出力が消えません(ソースコード先頭に記載しても変わらず) どうすれば消せるでしょうか 質問2. ファイル編集時 関数名などの補完機能(正確な機能の名称がわかりません) が使えなくなってしまい(ポップアップで候補が表示される機能のことです) 非常に使いにくいのですが再び動作するように直すことはできないでしょうか? 新規でプログラム作るときちんと機能しています (もともとは機能していましたがいつのまにか動かなくなりました)

  • プログラム動作時のCPU処理時間とCPU負荷の取得

    シミュレーションを行うために、C言語で書いたプログラムのCPU処理時間(CPUがそのプログラムのために動作していた時間)と、横軸が時間で縦軸がCPU負荷(%)を取得したいのですが、方法を教えてください。 プログラムはwindowsでVC++ or Linuxでgccでコンパイルしようと思っています。 よろしくお願いいたします。

  • CとJavaはどのくらいスピードが違うの?

    BorlandのJBuilderなど、Javaもネイティブコードコンパイラがありますよね。質問ですが、 (1) UNIXで動くJavaのネイティブコードコンパイラで優秀なものはあるのでしょうか。 (2) C言語でコンパイルしたプログラムとJavaでネイティブコードコンパイルしたプログラムは、どのくらい速度に差があるのでしょうか? たとえば、Visual Basicも最近のバージョンはネイティブコードコンパイルができますが、C言語で作った同じ論理構造のプログラムに比べて、やはり、かなり実行速度が劣ります。

  • VB ネイティブコンパイルについて

    (1)VB6、VB2005で書かれたソースコードについて、ネイティブ・コンパイル(完全コンパイル)は可能でしょうか? (2)VB6のネイティブコードコンパイルを行うとPコードコンパイルに比べて数十倍早くなったという話を聞いたことがあります。  コーディングによってはそれほど違いが出るものなのでしょうか?  また、どのような処理で特に差が現れるのでしょうか? (3)Windows98以降は初めからVB6ランタイムが組み込まれていると聞きます。  実際には、アプリの動作しますが画面上で文字化けを起こしてしまうようです。  これれは組み込まれているVB6ランタイムのバージョンが古いことが原因で起きるのでしょうか? よろしくお願い致します。

  • 別PCでコンパイルしたCプログラムについて教えてください。

    別PCでコンパイルしたCプログラムについて教えてください。 別PCでコンパイルしたCプログラムは、別のPC(CPU等の構成は違うが、同一のLINUX)でも動作するのでしょうか。 1コア32ビットのCPUでコンパイルしたものと、2コア32ビットのCPUでコンパイルしたものは同一のバイナリになるのでしょうか?(コンパイラによる最適化が行われないのでしょうか?) よろしくお願いします。

  • ビックエンディアンで動作するPC

    バイトオーダでビックエンディアンとリトルエンディアンがあるのは知っていますが、 実際にビックエンディアンで動作するPCを見たことがありません。 (といいますかビックエンディアンで動作しているか分かりません) 秋葉原等でビックエンディアンで動作するPC(CPU・マザーボード)は買うことはできるのでしょうか? その場合のOS、Linuxになると思いますがディトリビューションどれがよいのでしょうか? クロスコンパイル環境に興味があり、エンディアンが違うPCでも動作するプログラムを 書いてみたいと興味があり質問させていただきました。

  • CPUがAutoCADLT2011に対応しているか

    新規にパソコンを購入しようと思っていますが、インストールしたいソフト(AutoCADLT2011)の動作環境の内、CPUが対応しているのかメーカーやオートデスク社に問い合わせてもハッキリとはわからないとのことなので、どなたかCPUに詳しい方教えて頂きたいのですが。 AutoCADLT2011のパッケージの記載     (1)Intel Xeon または Pentium4 EM64T     (2)AMD Athlon64     OpteronのSSE2対応 パソコンのCPU     APU:AMD デュアルコア・プロセッサー E-450+AMD Radeon HD 6320         グラフィックス 1.65GHz        ※APU(Accelerated Processing Unit)は1つ、もしくは2つ以上のCPUと外付け         グラフィックス相当のコアが融合したAMDのプロセッサです。 以上の情報しかありませんが、ご回答頂ければ有難いです。

  • PHP成果物の納品

    お世話になります。 私は基本WebデザイナーなのでPHPについてあまり知識がないのですが PHPのようなプログラムをWebサイトに含め納品する場合、 そのままのデータとしてお渡しするのが一般的なのでしょうか? と、いうのもPHPのようなプログラムをそのまま納品する場合、 ローカル上で動作するようなコンパイルできるものと違い ソースが容易に見えてしまう為プログラムの転用などが懸念される為です。 一般的にはPHPの納品はどのようにして行われるのでしょうか?

    • 締切済み
    • PHP
  • CPUの互換性についておたずねいたします。

    CPUの互換性についておたずねいたします。 まったくの素人でよくわかりません。 対象機種は、IBM NETVISTA   チップセットは、INTEL 845GL です。 もともとついていたものは次のように刻印されています。 INTEL '02 CELERON R 2GHZ/128/400 SL6D8 MALAY 7234...... 次のものに、置き換えたいと思っております。 INTEL '02 CELERON R 2.8GHZ/128/400 SL77T MALAY Q415A211 大きく違うのは型番と、動作周波数です。 この2つのものは、互換性があるのでしょうか。 よろしくお願いいたします。

  • 32bitのCPUのAndroid端末問題について

    32bit CPU Android端末ってたくさんあるのでしょうか? 2021年8月でアプリのサポートが全部打ち切られますよね。 そうなると野良アプリとかいれて使うしかなくなるので 32bit CPU のアンドロイド端末はAndoroid2.3とかみたいに 格安で販売されたり廃棄されたりするでしょうか? アドバイス頂けると幸いです。(・´з`・) 自分のスマホが32ビットかどうか調べる方法は? - いまさら聞けないAndroidのなぜ 海上忍 2020/06/21 17:00 https://news.mynavi.jp/article/20200621-android_why/ かんたんに調べる方法のひとつが、NTTドコモが無償公開しているアプリの 「端末仕様確認ツール」を使う方法です。 ドコモ以外の端末・SIMフリー端末でも支障なく動作するため、 CPU情報を調べるには最適です。 アプリを起動して、「端末情報」にある「CPU」項目を展開し、 「ネイティブコードの命令セット」欄を確認してみましょう。 「arm64-v8a」と表示されれば64ビット、 「armeabi-v7a」ならば32ビットです。アプリがメインで参照する ライブラリ(部品化されたプログラムの集合)が64ビットCPU用なのか、 32ビットCPU用なのかで判断するというわけです。 なお、64ビットのSoC/CPUを搭載した端末でも、 ネイティブコードの第2命令セットに「armeabi-v7a」と表示されますが、 それは32ビットアプリを実行するための補助的なもので、 32ビットCPUが搭載されているという意味ではありません。