Author Archives: admin

VMWareでゲストを復元したときネットワークが利用できない

ネットワークを使ってるサービスを止めれば治る場合がある

wuauservはWindows Update Service、アップデート中にやるとどうなるかはわからない。

javascriptで文字列の中の文字列の個数を数える

vista でwindows updateをリセット

https://support.microsoft.com/en-us/kb/2700567

C++/CLIで国際化文字列リソースを追加

メインのフォームFormMainがあると仮定

プロジェクトにリソース(*.resx)を追加、ここではStringResource.resxとStringResource.ja-JP.resxを追加する。

FormMainに以下のコードを追加

実装

sInに渡された文字列がリソースにあればそれを返す。なければそのまま返す。
CultureInfoをGetStringの第二引数に渡せるがここではスルー

VC2008でCRTのないEXEを作成する

普通にwin32プロジェクトを作成
clipshot 2015-12-18 00-00-44
/NODEFAULTLIBオプションを有効に、これでCRTはリンクされない。
clipshot 2015-12-18 00-03-05
ビルドするといろいろリンクエラー、これはCRTの機能を呼んでいるから出る。

Basic Runtime Checkをデフォルトに
clipshot 2015-12-18 00-07-06
ビルド

Buffer Security CheckをNoに
clipshot 2015-12-18 00-08-53
ビルド

以下を定義

これでビルドできて動いた。しかしmemsetを使っていると問題がある。

このようなコードでもコンパイラはmemsetを呼ぶようで、これが見つからないと怒られる。自分で定義する。

これでビルドできたがVC6だと今度はintrinsicの関数を定義するなと怒られる。その場合は以下のプラグマで回避する

MingWとEclipse CDTでWin32プログラムでJNIのランチャー作成

XP sp3で挑戦
まずMingWをインストールする。
01mingdown

デフォルトのフォルダへ
02minginst
msysは今回は使わないと思うけどとりあえずインストールgcc-g++は必須のはず。
3minginst2

次にjavaをインストール。
clipshot 2015-12-15 07-16-41
警告はスルー。8.66をインストールした。PATH関係でエラーが出るかもしれないのでいったんログオフ。

次にeclipse CDTのインストール、eclipse.orgへ行ってCDTをダウンロード、ここではeclipse-cpp-mars-1-win32.zipをダウンロードしてC:\に解凍。

起動しようとするとすぐ終了してしまうので、コマンドラインからeclipsec.exeで起動してみる。
clipshot 2015-12-15 07-24-39
メモリーが足りない?eclipse.iniの最後を以下のように書き換えて起動。

起動できた。
clipshot 2015-12-15 07-27-51
とりあえずHello World C++というのを作ってみる
clipshot 2015-12-15 07-32-37
メニューから{Project][Build All]

ビルドできた。次に[Run][Run Configuration]で以下のように設定。というか自動で作られる。
clipshot 2015-12-15 07-36-21
[Run][Run]を実行。しかし!!!Hello World!!!が表示されないので、コマンドラインから起動してみると以下のエラーがでた。
clipshot 2015-12-15 07-39-41

リンカオプションに-static-libgcc -static-libstdc++をつけて解決
clipshot 2015-12-15 20-35-04
clipshot 2015-12-15 20-36-28
コンソールを出さないWindowsプログラムを作るため、Makefileプロジェクトを作った。
clipshot 2015-12-16 03-06-44

ソースファイル

メイクファイル

フラグの指定の仕方が強引だがLDFLAGSが効かないみたいなので今はこれで。

実行
clipshot 2015-12-16 03-22-35

これでwin32アプリの準備はできたので、JNIを利用してjavaのランチャーを作る。jni.hがJDKに入ってるので仕方なくJDK7をインストール。
mymain()を作成。http://homepage2.nifty.com/igat/igapyon/diary/2006/ig061108.html からコピペ

メイクファイル修正

ビルドするとエラー

jvm.libがこの関数をエクスポートしてないみたいなので、dllから直接よぶ。今回はjvm.dllの位置は固定でやる。

これでVMは作れたのでパラメータを調節すれば動くだろう。
CDTはいろいろくせがあって慣れないと使いづらい。

Eclipse MarsがXPで起動しない

eclipseの起動はeclipse.exeで行うがコマンドラインのeclipsec.exeもあるので、コマンドラインからこれで起動するとエラー内容が表示される。

clipshot 2015-12-16 02-48-38

eclipse.iniに起動時のパラメータが書いてあるのでこれのメモリ部分を以下のように修正

-XmsはJavaのメモリの初期値、-Xmsは最大値

これで起動はしたがメモリが足りなくなるのかもしれない。

*あるいは-Xmsは削除してもいいかもしれない。