- 1 名前:login:Penguin mailto:sage [2010/02/11(木) 22:54:07 ID:MfiF2xpt]
- Linux上でWindowsのアプリを動作させるソフトウェア
Wineに関する情報交換スレ。 前スレ 今夜も Wine で乾杯! - 15本目 pc11.2ch.net/test/read.cgi/linux/1235824271/ Wine本家 www.winehq.org/ wiki.winehq.org/ 動作報告Wikiや過去ログなど www.2chlinux.org/index.php?FrontPage ここにパッチをうpするときはgzipやbzip2で圧縮した上で base64などでエンコードしてください。おながいします。 動作報告は>>2のテンプレ使用を推奨。
- 559 名前:login:Penguin mailto:sage [2010/10/17(日) 21:02:27 ID:/py//3dr]
- これから実験します。
まずはVC++でネイティブコードを書く方法を調べないと。 素直に他のコンパイラ使った方が早そうだけど。
- 560 名前:login:Penguin mailto:sage [2010/10/17(日) 22:11:29 ID:/py//3dr]
- 何故かCのコードが上手く動かないからC++で書いた。
#include <iostream> using namespace std; int main(int argc, char* argv[]) { exit(atoi(argv[1])); } C:\>aomushi.exe 1 C:\>echo %ERRORLEVEL% 1 C:\>aomushi.exe 0 C:\>echo %ERRORLEVEL% 0 C:\>aomushi.exe -1 C:\>echo %ERRORLEVEL% -1 まあ、これでいいでしょ。
- 561 名前:login:Penguin mailto:sage [2010/10/17(日) 22:22:38 ID:/py//3dr]
- test@linux> wine aomushi.exe 1
err:module:import_dll Library MSVCR90D.dll (whichi is needed by L"E:\\aomushi.exe") not found Winedoorsでインストール出来たような気が。 > Very very broken and I don't have time to fix it wddb.wine-doors.org/ うーむ。ディスク使用量が99%超えてるから、MinGWも入れられないしどうしたものか。Borland?
- 562 名前:login:Penguin mailto:sage [2010/10/17(日) 22:30:01 ID:k1GS9OMx]
- >>561
VC++でコンパイルするなら、/MTオプションでスタティックリンクすればいいじゃん。
- 563 名前:login:Penguin mailto:sage [2010/10/17(日) 22:41:51 ID:/py//3dr]
- Borland C++ Compilerを使った。
test@linux> wine aomushi.exe 1; echo $? 1 test@linux> wine aomushi.exe 0; echo $? 0 test@linux> wine aomushi.exe -1; echo $? 255 test@linux> wine aomushi.exe -10; echo $? 246 test@linux> wine aomushi.exe 100000000000000; echo $? 0 ありゃ? C:\>aomushi.exe 1 & echo %ERRORLEVEL% 1 C:\>aomushi.exe 1 & echo %ERRORLEVEL% 0 C:\>aomushi.exe -1 & echo %ERRORLEVEL% -1 C:\>aomushi.exe 100000000000000 & echo %ERRORLEVEL% 276447232 Wineの終了コードは8ビットまでだったような気もするけど、 いくら何でも符号無しだと-1が返せないしなぁ。 これはソース読まないと駄目かも。 >>562 そういえばそんなオプションもあったなぁ。
- 564 名前:login:Penguin mailto:sage [2010/10/17(日) 22:55:09 ID:GnHMS2bo]
- >>563
Linuxでのコマンドの戻り値は0〜255だぞ
- 565 名前:login:Penguin mailto:sage [2010/10/17(日) 23:04:08 ID:/py//3dr]
- >>564
ああ、やっぱりそうなのか。 前、Winehpで子プロセスと終了コードで通信する凄い設計のアプリが 動かないって見た記憶があったから、そんな気はしてたんだが。 > As such, on Unix exit statuses are restricted to values 0-255, the range of an unsigned 8-bit integer. en.wikipedia.org/wiki/Exit_status Wikipediaにも書いてあるし。 まあ、無理やりsigned byteにキャストすれば大抵動くんじゃない? ぐだぐだになって来たんで、自分はこの辺で。
- 566 名前:login:Penguin mailto:sage [2010/10/17(日) 23:17:20 ID:qv0b3aJL]
- Windows上の4例目おかしくね
オーバーフローでINT_MAXが戻り値になるはずだが
- 567 名前:login:Penguin mailto:sage [2010/10/17(日) 23:33:55 ID:GnHMS2bo]
- >>566
C:\Documents and Settings\User\デスクトップ>type test.c #include <stdio.h> int main(int argc, char *argv[]) { printf("%d\n", atoi(argv[1])); return 0; } C:\Documents and Settings\User\デスクトップ>gcc -o test.exe test.c C:\Documents and Settings\User\デスクトップ>test.exe 100000000000000 276447232 C:\Documents and Settings\User\デスクトップ>gcc -v Reading specs from C:/Perl/site/lib/auto/MinGW/bin/../lib/gcc/mingw32/3.4.5/spec s Configured with: ../gcc-3.4.5-20060117-3/configure --with-gcc --with-gnu-ld --wi th-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --dis able-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --d isable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --with out-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enabl e-hash-synchronization --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.5 (mingw-vista special r3)
|

|