
以下のURLの最後で、eaxの「0」を戻り値として使うことができる。とは、戻り値に使わなくてもいいし、使っても良いという事でしょうか? また、なぜ、単に「0」が戻り値として戻ってくるというだけという事でしょうか?は違うのでしょうか?教えていただけると幸いです。すみません。
https://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=al …
よろしくお願いします。
で、なぜ、eaxレジスタの値を使うのでしょうか?ebxなどではなぜダメなのでしょうか?教えていただけると幸いです。すみません。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
RAX を使うのは x64 CPU での一般的な「呼び出し規約」です。
すべてにおいて規約を守る必要はありませんが、
対外的に提供する部分については規約通りにすべきです。
参考)
https://ja.wikipedia.org/wiki/%E5%91%BC%E5%87%BA …
https://docs.microsoft.com/ja-jp/cpp/build/x64-c …
No.1
- 回答日時:
>とは、戻り値に使わなくてもいいし、使っても良いという事でしょうか?
どちらでも構いません。あなたが作るメインプログラム次第です。
引用URLの内容に限らず、
何から何まであなたプログラマが全部作るのは負担が多いし
まずバグが出て対策に時間も手間もかかります。
なので
「ナントカコール」という、既にある既存のライブラリ等を使うのが
そこら辺の手間を省く意味で有効です。
で
それを使う約束というか方法として
決め打ちのレジスタに値を設定してコールする。
結果は決め打ちのレジスタに格納されているのでそれを使う。
ってのが一般的です。
何かをしてもらうつもりでコールしたのだから、
結果どうなったのか、eaxレジスタにその結果が残されてるんだから
普通はそれを確認しますよね。
失敗してたら他の手を使わなけりゃ失敗したままなので。
>なぜ、eaxレジスタの値を使うのでしょうか?
>ebxなどではなぜダメなのでしょうか?
その機能をコールする時の約束がeaxを使うようになってるから、です。
呼ばれるモジュールがそう作られてるんだから、合うように使うのが普通です。
ebx を見てもいいですけど、どういう値になってるのかわからないのに
そんなことしても意味ないので、するだけ無駄ですけどね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
人気Q&Aランキング
-
4
教えて下さい
-
5
Excel マクロ VBA プロシー...
-
6
特定のPCだけ動作しないVBAマク...
-
7
配列数式の解除
-
8
UserForm1.Showでエラーになり...
-
9
メッセージボックスのOKボタ...
-
10
ExcelのVBAコードについて教え...
-
11
ワードのマクロについて教えて...
-
12
マクロで"#N/A"のエラー行を削...
-
13
ExcelのVBAコードについて教え...
-
14
Excel・Word リサーチ機能を無...
-
15
マクロ実行時、ユーザーフォー...
-
16
End Sub が必要です。
-
17
一つのTeratermのマクロで複数...
-
18
Excel VBAからAccessマクロを実...
-
19
ExcelVBAでPDFを閉じるソース
-
20
エクセルで特定の列が0表示の場...
おすすめ情報
公式facebook
公式twitter