Masaki's Thinking Memo

しがない兼業プログラマの思いつきとTips
<< April 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>

CreateProcess でexeが起動できない

ひさびさに携帯を離れてWINDOWSアプリ開発やってます。

C#のXAMLとかLINQとかラムダ式とか使えておもしろかったけど、作ってるアプリの特性上p/invoke祭りが始まり結局パフォーマンス求めてC++ネイティブで書き直した部分も。XAMLでどこまでパフォーマンス上げられるのか時間割きたかったけど今度の楽しみに。

はまったことを書き出したかったけど稼動高くて気力もなく(^^;

ひとつは掲題のCreateProcess。これのユニコード版は第二引数に領域確保したバッファに文字列積めて渡さなければならず、リテラル文字列与えるとエラーになる。

CreateProcess
https://msdn.microsoft.com/ja-jp/library/cc429066.aspx

>lpCommandLine
(中略)
Windows NT/2000:このパラメータで const 文字列(リテラル;文字列定数)を指定すると、この関数の Unicode 版である CreateProcessW 関数は失敗します。

と、わかった後で検索すると資料も出てくるのだが、分からないとはまる。
 
このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |

VC++2008 再頒布パッケージ関連

"このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。"
というメッセージで検索して、当Blogの古い記事に到達される方がまだ多いので、
VS2008の再頒布パッケージのリンクも貼っておきます。
続きを読む >> このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |

Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)

VSには触れていなくてちょっと悲しい今日この頃、
掲題のパッケージが公開されていたのでメモ書き。

Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)

公開日付: 2008/01/25

※urlが長いのでリンクにした。
このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |

/clrを設定していると "error C2146: 構文エラー : ';' が、識別子 'xxx' の前に必要です。"

メモ書き。

従来のVC++からインポートしたプロジェクトで/clrを設定すると掲題のエラーが。
見てみるとPlatformSDKのWinioctl.hの中でDWORDが認識されていない。
*.cppファイルの先頭でincludeしていた上記ファイルをヘッダファイルかstdafx.hにて
includeしてやるとコンパイルが通るようになった。
このエントリーをはてなブックマークに追加
VC++ | permalink | comments(4) | trackbacks(1) | pookmark |

Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ

http://rejoice.jugem.jp/?eid=109

にてコメントをいただいているとおり、掲題のパッケージが公式に配布されています。
日本語版(ライブラリ自体が言語間で異なるのかどうかは確認していません)は

Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)

です。

<2007/06/18 追記>
日本語版は現在公開停止しているようです。
あれだけBlogを作ってるのにもかかわらず、
アナウンスがないのでフォローが大変ですね。

<2007/07/13 追記>
2007/07/03に再公開されています。
このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |

cl : コマンド ライン error D8016 : コマンド ライン オプション '/RTC1' と '/clr' は同時に指定できません

過去の資産の機能追加分はC++/CLIで、などと虫のいいことを考えたものの、
VC8のアップグレードウィザードで変換したプロジェクトでやってみると
Debugモードで掲題のエラーがつぶせず撃沈。
しばらく諦めていたものの悔しいのでプロジェクトファイルをいじったら
コンパイルできるようになったのでメモ書き。動作補償は自己責任でお願いします。
間違っていたらコメントくださいませ。


〜 以下説明 〜

続きを読む >> このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |

Visual Studio 2005 Service Pack 1 Update for Windows Vista

キタ!
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=90E2942D-3AD1-4873-A2EE-4ACC0AACE5B6

英語版はこちら。
http://www.microsoft.com/downloads/thankyou.aspx?familyId=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&displayLang=en
少し前に出てたんですね。orz..
このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |

VC++2005 従来のイベントハンドラ追加

メモ書き。従来通り。
ダイアログに関連づけしたクラスのヘッダファイルを開いて、
クラス内の適当な空行をクリックすると、
プロパティウィンドウにコントロールの一覧を表示できるアイコンや、
ダイアログで取得できるメッセージ一覧を表示できるアイコンなどが表示されるので、
それらを用いて追加する。

※libがぺたぺたついたMFCアプリのC++/CLI化がうまくいかず、
やむを得ず旧来のプログラミングに。
そして忘却の早さが増している今日この頃を実感。
このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |

VS2005 英語版

偉い人たちが入れてるみたいなのでインストールして使ってみている。

…メッセージが英語でわからんやんけ!!!

…あ、エラーメッセージをそのまま貼り付けて(英語圏で)検索できて便利かも(笑)
このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |

Visual C++2005 SP1 再頒布可能パッケージとインストーラ

VS2005でセットアッププロジェクトを作成すると、そのプロパティページから
必須コンポーネントの選択が出来る。
ここで、「VisualC++ ランタイムライブラリ」を選択に含めておくと、
ダウンロード先を指定していない場合、
インストーラにvcredist_x86.exe(x86版を選択した場合)が含められる。
そしてインストーラ実行時にアプリのインストールに先立って
ライブラリのインストーラが実行される。

ただ、すでにSP1ではないVC++2005の再頒布可能パッケージが
インストール済みの場合、更新もされずアプリケーションがインストールされたり、
SP1版のVC++2005〜パッケージがインストールされていても、再度
ライブラリインストーラが立ち上がったりとあまり利口ではないので、
普通に上記ライブラリパッケージをを別配布した方がよいと感じた。

ちなみに上記パッケージがあるフォルダは、以下参照:
http://rejoice.jugem.jp/?eid=109
このエントリーをはてなブックマークに追加
VC++ | permalink | comments(0) | trackbacks(0) | pookmark |