2015年12月13日
久しぶりのc++で初exeファイル作成
64ビットアセンブラを勉強し始める。
まずはVisual Studio Express 2015 for Windows Desktop
をダウンロードする。
>Visual Studio Express
>https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx
どうやらこの「64ビットアセンブラ入門」は
c++のコードから関数としてアセンブリ言語のコードを呼び出すようだ。
だからc++を少し使う。
大学院時代以来だ。
とりあえずサンプルプログラムを実行。
ctrl F5で「デバッグなしで開始」
、、、あれ?
なんかショートカットが使えない。
スタートアップの「WebとWindowsを検索」が最前面に表示された。
surface proのキーボード仕様のせいか。
F5のキーに検索の虫眼鏡マークが書かれている、、
しかたなくマウスで「デバッグなしで開始」をクリック。
おー、、、、しょぼ。さすがサンプル。
ただ確かにアセンブルで書いたコード(たった1行だけど)が
実行されている。(詳しくは本を買って読んで参照ください)
複数のプログラミング言語(c++とアセンブリ言語)で1つのプログラムができるのが面白い。
まあ、でも結局0と1のマシン語に置き換えられるんだから納得だ。
このまま読んでいくのも面白そうだが、
少し脱線してみたくなった。
exeファイルはどう作るのだろう、、、
→ビルドっするとDebugフォルダにできるらしい。
→Debugフォルダにexeファイル含む3つのファイルができていた。
exeファイルをクリック→コマンドプロンプトらしきものが一瞬見えたが
何も起きない。
ようするに変数に1を代入しただけのプログラムだから
コマンドプロンプトが一瞬動いて閉じて終了したということか?
ちゃんと動いているか分からない。
よし
テキストファイルを出力させてみよう。
検索。下記のホームページを発見。
>テキストファイルの読み書き
>http://homepage3.nifty.com/mmgames/c_guide/17-01.html
そのままペーストして実行。
え、エラー。なんで?
また検索。下記のサイトを発見!
>kenpi20の灰色マインドマップ日記
>http://kenpi20.hatenablog.com/entry/2014/11/01/235634
どうやらfopenというコマンドが使えないらしい。
最近の開発環境でビルドすると。
セキュリティ強化の関係らしい。
fopen_sというコマンドを使うらしい。
同ページにある下記のリンクより書き換え方法がわかった。
>fopen_sとかsscanf_sとかの"_s"関数書き換え例まとめ
>http://blog.livedoor.jp/mrcom511/archives/51270788.html
sampleフォルダにテキストファイル「test1.txt」が吐き出された。
中を見るとアセンブリ言語で1行書いたコードのa=1の「1」が
ちゃんと書き込まれていた。(当たり前だけど)
アセンブリ言語コード部分をaに100を代入するよう書き換えると
テキストファイルも100に変わっていた。
ビルドしてDebugフォルダにできたexeファイルを実行すると
隣にさっきと同じ「test1.txt」が吐き出された。
ファイルを開くとやっぱり中に100の数字があった。
大学のときはレポート書くための演算でc++をかじっていただけで
exeファイルを作ったことはなかった。
先日nasmでアセンブルしてexeファイルを生まれて初めて作ったが、
今回久しぶりのc++で初めて作ったexeファイルはもっと感動。
あたりまえでほんとにしょぼい内容だけど、、
自分の生活を便利にするexeファイルをたくさん作りたいなあ
まずはVisual Studio Express 2015 for Windows Desktop
をダウンロードする。
>Visual Studio Express
>https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx
どうやらこの「64ビットアセンブラ入門」は
c++のコードから関数としてアセンブリ言語のコードを呼び出すようだ。
だからc++を少し使う。
大学院時代以来だ。
とりあえずサンプルプログラムを実行。
ctrl F5で「デバッグなしで開始」
、、、あれ?
なんかショートカットが使えない。
スタートアップの「WebとWindowsを検索」が最前面に表示された。
surface proのキーボード仕様のせいか。
F5のキーに検索の虫眼鏡マークが書かれている、、
しかたなくマウスで「デバッグなしで開始」をクリック。
おー、、、、しょぼ。さすがサンプル。
ただ確かにアセンブルで書いたコード(たった1行だけど)が
実行されている。(詳しくは本を買って読んで参照ください)
複数のプログラミング言語(c++とアセンブリ言語)で1つのプログラムができるのが面白い。
まあ、でも結局0と1のマシン語に置き換えられるんだから納得だ。
このまま読んでいくのも面白そうだが、
少し脱線してみたくなった。
exeファイルはどう作るのだろう、、、
→ビルドっするとDebugフォルダにできるらしい。
→Debugフォルダにexeファイル含む3つのファイルができていた。
exeファイルをクリック→コマンドプロンプトらしきものが一瞬見えたが
何も起きない。
ようするに変数に1を代入しただけのプログラムだから
コマンドプロンプトが一瞬動いて閉じて終了したということか?
ちゃんと動いているか分からない。
よし
テキストファイルを出力させてみよう。
検索。下記のホームページを発見。
>テキストファイルの読み書き
>http://homepage3.nifty.com/mmgames/c_guide/17-01.html
そのままペーストして実行。
え、エラー。なんで?
また検索。下記のサイトを発見!
>kenpi20の灰色マインドマップ日記
>http://kenpi20.hatenablog.com/entry/2014/11/01/235634
どうやらfopenというコマンドが使えないらしい。
最近の開発環境でビルドすると。
セキュリティ強化の関係らしい。
fopen_sというコマンドを使うらしい。
同ページにある下記のリンクより書き換え方法がわかった。
>fopen_sとかsscanf_sとかの"_s"関数書き換え例まとめ
>http://blog.livedoor.jp/mrcom511/archives/51270788.html
sampleフォルダにテキストファイル「test1.txt」が吐き出された。
中を見るとアセンブリ言語で1行書いたコードのa=1の「1」が
ちゃんと書き込まれていた。(当たり前だけど)
アセンブリ言語コード部分をaに100を代入するよう書き換えると
テキストファイルも100に変わっていた。
ビルドしてDebugフォルダにできたexeファイルを実行すると
隣にさっきと同じ「test1.txt」が吐き出された。
ファイルを開くとやっぱり中に100の数字があった。
大学のときはレポート書くための演算でc++をかじっていただけで
exeファイルを作ったことはなかった。
先日nasmでアセンブルしてexeファイルを生まれて初めて作ったが、
今回久しぶりのc++で初めて作ったexeファイルはもっと感動。
あたりまえでほんとにしょぼい内容だけど、、
自分の生活を便利にするexeファイルをたくさん作りたいなあ
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/4514669
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック