- 締切済み
メモリーや配列変数域にプログラム書きアクセスする
Visual Studio6(32Bit)ではメモリーや配列変数域にアセンブラーでプログラムコードを直接書き込んでアセンブラーのCALL命令でそのエリアをCPUがアクセス出来たのですが。 Visual Studio8(64Bit)ではエラーになりました。 8でもアクセス可能にする方法を教えてください。
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- Windows7(64bit)でのプログラム実行
Visual Studio 2010で作成したプログラム(32bit版)はWindows7(64bit)のOSで 自動識別してくれて問題なく動作するでしょうか。 それとも実行に先立ち、何か予め設定がいるでしょうか。
- ベストアンサー
- C・C++・C#
- 配列変数のポインターが勝手に変わる
下記の2個のファイルを持つプログラムでインラインアセンブラのcall命令で配列変数のポインター(アドレス)が勝手に変わる現象をおしえてください。 但し、配列の最初のポインターのみが変わる。 開発環境はWin7(64bit)、VC++2010無償版です。 main.cpp int *disp; int data[3]; WinMain() { _asm mov disp,offset disp_top ・ ・ ・ メッセージループへ _asm{ disp_top://下記move()からcallされた時 lea eax,data//下記のmove()関数のeaxの値より16番地少ない lea ebx,data+4//下記のmove()関数のebxの値と同じ lea ecx,data+8//下記のmove()関数のecxの値と同じ ・ ・ ・ ret } } move.cpp extern int *disp; extern int data[3]; void move() { _asm{ lea eax,data lea ebx,data+4 lea ecx,data+8 call disp } }
- 締切済み
- C・C++・C#
- 変数について
お世話になります。 VBAにてプログラムを作成しています。 本コードで得た変数をCALLのサブルーチン先 でもその変数を生かしたいのですが、empty空 になってしまいます。 変数宣言はPublicにしているのですが。 そう言うものなのでしょうか。 お教え頂きたく宜しくお願い申し上げます。
- 締切済み
- Visual Basic
- 本当にPublicな変数(配列で)
複数のフォームがあるVisualBasicのプログラムを作っているのですが、そのすべてのフォームからアクセス(値の変更も含める)できる配列の変数というのはないのでしょうか? Public 文を使ってみると、「定数、固定長文字列、配列、ユーザー定義型文字列、およびDeclareステートメントは、オブジェクトモジュールのパブリックメンバとしては使用できません。」 というエラーメッセージがでます。 解決法を教えてください。
- ベストアンサー
- Visual Basic
- Visual StudioC#で、変数を見る機能
Visual StudioC#には、作ったプログラムを実行しているときに変数がどんな値になっているのかを見る機能って無いのでしょうか? Microsoft Visual Studio 2010 Expressを使っています。 例えば、 ボタン1を押す→A=1代入 ボタン2を押す→B=2代入 ボタン3を押す→C=3代入 上のだと、今までだとテキストボックス3つに各変数の値を表示していました。でもいちいち全てをそんなデバッグするの面倒です・・・実行中に直接、Visual Studio上で変数の値を見ることってできないのでしょうか? よろしくお願いします。
- ベストアンサー
- C・C++・C#
- MSVCR110.dllがないため、プログラムが開
MSVCR110.dllがないため、プログラムが開始できませんと出てきます 自宅サーバーでPHPをインストールしたく試みているのですが 上手くいきません 調べたら、Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ というものをインストールすれば解決するとあるのですが 64bit版、32bit版どちらを入れても解決しませんでした どうすれば、解決できますでしょうか? 使用OSはWindows7 64bit版です
- ベストアンサー
- オープンソース開発
- char* 宣言での配列要素アクセスについて
char* 宣言での配列要素アクセスについて char*型で宣言したポインタ変数に対して 配列の要素でアクセスすると落ちてしまいます。 理由がよくわかりません。 以下コードになります。 (コードA) char* pA = "123456789"; pA[2] = 'A'; 以下のコードの場合は問題ありません。 (コードB) char pB[] = "123456789"; pB[2] = 'B'; 両者の違いがいまいちよく分かりません。 コードAでpA[2]のアドレスを確認すると、 pAのアドレス[+2]を指しているので問題ないともうのですが、 間違っているのでしょうか? pAに対して特別な操作はしていません。 ご教授お願いいたします。
- ベストアンサー
- C・C++・C#
- 配列の渡し方
お世話になります。 DBからの検索結果を指定した件数で表示するプログラムを作っています。最初のページはうまく表示できるようになったのですが、次のページを表示する際に検索条件が引き継がれずうまく表示できません。検索条件は配列で持っているのですが、配列の中身ごと次のページに引き渡すにはどうしたら良いのでしょうか? ちなみに現在は下記のようなコードで実行しています。 echo " <a href=\"".$_SERVER["PHP_SELF"]."?p=$next&gender=$genderUrl&area=$areaUrl\"> 次のページ</a>"; 上記のコードで言うと、&areaが配列になります。 &genderは単なる数値なのでうまく引き継がれるのですが、&areaはArray()となるだけでうまく引き継がれません。なお、配列の中身は2バイト文字です。 お手数をお掛けしますがよろしくお願いします。
- 締切済み
- PHP
- c++のグローバル変数
お世話になります c++のグローバル変数の使い方を教えていただけないでしょうか Visual Studio 2008を使用しております ------------abc.cpp------------- int AAA; BBB(){ AAA = 1; } abc::CCC(){ AAA = 2; } コンパイル(ビルド)ではエラーは出ないのですが、 BBBをコールした時は変数AAAに値をセットできるのですが、 abc::CCCをコールした時、AAAに値がセットできません、 ウォッチ等も「エラー:識別子'AAA'はスコープ外です」 となってしまいます。 補足 BBBはリンクしているライブラリ(修正不可)からコールされる為、 クラスに組み込む事が出来ません。
- ベストアンサー
- C・C++・C#
- 取り扱える最大配列数を大きくする方法を教えてください
取り扱える最大配列数を大きくする方法を教えてください 熱伝導方程式を数値計算で解いてしています。 (他にも偏微分方程式をいくつか同時に解く必要があります) 温度場(2次元)として配列 double T[m][m],dT[m][m]を用意してプログラムを作成して解いています。 m=400まではプログラムが正常に動くのですが、m=500になると、いきなり終了します。 使用OSはWindows7-64bit、コンパイラはvisual c++ 2008 express editionです。 CPUはIntel-i7 860(2.8G)、RAMは8GBです。 同様のプログラムをスパコンで実行すると、m値によってプログラムが終了する問題は起きません。 また、プログラムを若干変更し、使用する配列数を減らすと使用できる最大mの数が増えるので、 何かWiondowsかコンパイラーか、1つのプログラムが使用できるメモリーの制限等に引っかかっていると思うのですが、どう対策を施して良いのかわかりません。 解決方法をご存知の方どうぞよろしくお願いします。
- ベストアンサー
- C・C++・C#
補足
回答ありがとうございます。 実際には画面上の点(ドット)を読み書きする16バイト程度のアセンブラコードを、メモリー上に最大ループ回数分のコードを展開して直線的に処理して、ループ判断処理と分岐時間を回避して高速処理することが目的です。 >あと、express版は上位版に比べて機能が制限されていたと記憶しています。 この点ですが、VS6の環境で出来たプロジェクトワークスペースをVS8に移行する際変換してビルドした場合は、この展開コードも問題なく動作してくれますが、VS8で新規プロジェクトを立ち上げソース等を6から持ってきた場合は不可のようです。 機能制限はこの分野では大丈夫のようです。 コンパイラオプションの設定方法を教えてください。