私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレCygwin + MinGW + GCC 相談室 Part 3
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ★
レスフィルター : (試験中)
都合でMinGWを使いたいんだけど、Cygwin導入済みのWindowsに入れたら競合が起こるかな
CygwinパッケージにもMinGWがあった気がするけど、両方とも干渉せずスタンドアロンで使いたいっす
CygwinパッケージにもMinGWがあった気がするけど、両方とも干渉せずスタンドアロンで使いたいっす
libtoolがスタティックライブラリは作るのですがdllを作ってくれません ><
/bin/sh ..//libtool --quiet --mode=link gcc -no-undefined -L/home/myname/install//lib
-rpath /home/myname/install/lib -version-info 25:5:0 -export-symbols-regex '^ne_[^_]'
-o libneon.la ne_request.lo ne_session.lo ne_basic.lo ne_string.lo ne_uri.lo ne_dates.lo
ne_alloc.lo ne_md5.lo ne_utils.lo ne_socket.lo ne_auth.lo ne_redirect.lo ne_compress.lo ne_207.lo
ne_xml.lo ne_props.lo ne_locks.lo ne_xmlreq.lo ne_acl.lo ne_openssl.lo
-lssl -lcrypto -lz -L/home/myname/install/lib -lxml2 -lz -lm
が実行されると
*** Warning: linker path does not have real file for library -lssl....
*** using a file magic. Last file checked: /home/myname/install/lib/libssl.dll.a
*** Warning: linker path does not have real file for library -lcrypto....
*** using a file magic. Last file checked: /home/myname/install/lib/libcrypto.dll.a
*** Warning: linker path does not have real file for library -lz....
*** using a file magic. Last file checked: /lib/libz.dll.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
といわれます
ssl、crypto、zはaファイルのみでlaファイルがないためリンクが失敗してると思います
configureし直して、この三つのライブラリがリンクされないようにしたらdllが出力され
Since this library must not contain undefined symbols...も出なくなったのですが
aファイルしかないライブラリをlaファイル捏造とか以外の方法(オプションとか環境変数とか)で
libtoolによるリンクを成功させるにはどのようにすればよいでしょうか?
/bin/sh ..//libtool --quiet --mode=link gcc -no-undefined -L/home/myname/install//lib
-rpath /home/myname/install/lib -version-info 25:5:0 -export-symbols-regex '^ne_[^_]'
-o libneon.la ne_request.lo ne_session.lo ne_basic.lo ne_string.lo ne_uri.lo ne_dates.lo
ne_alloc.lo ne_md5.lo ne_utils.lo ne_socket.lo ne_auth.lo ne_redirect.lo ne_compress.lo ne_207.lo
ne_xml.lo ne_props.lo ne_locks.lo ne_xmlreq.lo ne_acl.lo ne_openssl.lo
-lssl -lcrypto -lz -L/home/myname/install/lib -lxml2 -lz -lm
が実行されると
*** Warning: linker path does not have real file for library -lssl....
*** using a file magic. Last file checked: /home/myname/install/lib/libssl.dll.a
*** Warning: linker path does not have real file for library -lcrypto....
*** using a file magic. Last file checked: /home/myname/install/lib/libcrypto.dll.a
*** Warning: linker path does not have real file for library -lz....
*** using a file magic. Last file checked: /lib/libz.dll.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
といわれます
ssl、crypto、zはaファイルのみでlaファイルがないためリンクが失敗してると思います
configureし直して、この三つのライブラリがリンクされないようにしたらdllが出力され
Since this library must not contain undefined symbols...も出なくなったのですが
aファイルしかないライブラリをlaファイル捏造とか以外の方法(オプションとか環境変数とか)で
libtoolによるリンクを成功させるにはどのようにすればよいでしょうか?
i686-elfがターゲットなbinutilsを作ったのですがgccにこれを使うよう指示する方法が分かりません
http://iwatam-server.dyndns.org/hardware/h8comm/doc/CrossDevel-jp.html/ch-inst.htmlとかを見ると
オレオレbinutilsを使いたい場合gccも作らなくてはならない感じなのですがどうにかする方法はないでしょうか?
http://iwatam-server.dyndns.org/hardware/h8comm/doc/CrossDevel-jp.html/ch-inst.htmlとかを見ると
オレオレbinutilsを使いたい場合gccも作らなくてはならない感じなのですがどうにかする方法はないでしょうか?
specsのinvoke_asとlinker書き換えて -specs= で読ませりゃいいんでない?
>>657
-B prefix と -b target ジャマイカ?
-B prefix と -b target ジャマイカ?
>>660
もうすっかり忘れたけどrand()は線型合同法かなんかだっけ?
メルセンヌツイスタを見つけたならひと口に乱数と言っても
目的によって適不適があるというような注意書きを
メルセンヌツイスタの作者が書いてるのに行き当たったり
しているはずだが。
もうすっかり忘れたけどrand()は線型合同法かなんかだっけ?
メルセンヌツイスタを見つけたならひと口に乱数と言っても
目的によって適不適があるというような注意書きを
メルセンヌツイスタの作者が書いてるのに行き当たったり
しているはずだが。
>>662
取り下げによる移動はマルチではない。
移動の方法としてはいくつか在るがたとえば
ここに、「~~(移動先URL)へ移動しました」などと書いたうえで
移動先に「~~(ここのURLとレス番)から誘導を頂きました」
とでも書いておけばその時点でマルチではなくなる。
取り下げによる移動はマルチではない。
移動の方法としてはいくつか在るがたとえば
ここに、「~~(移動先URL)へ移動しました」などと書いたうえで
移動先に「~~(ここのURLとレス番)から誘導を頂きました」
とでも書いておけばその時点でマルチではなくなる。
>>660
> 高速に質の良さそうな乱数を取得する方法を探しております。
目的を述べよ
> 1./dev/randとはハードか何かで乱数作るんでしょうか?
割り込み間隔とかネットワークのIO間隔等で乱数 seed を揺さぶり続けるため
品質的にはそれなりだが, 再現性のある乱数系列を取得することは不可能
> 2./dev/randはWindowsで使うことは出来ますか?
/dev/rand に相当するデバイスドライバを書けば OK
> また使い方は?
fd = open("/dev/rand", O_RDONLY);
read(fd, random_buff, sizeof random_buff);
> 高速に質の良さそうな乱数を取得する方法を探しております。
目的を述べよ
> 1./dev/randとはハードか何かで乱数作るんでしょうか?
割り込み間隔とかネットワークのIO間隔等で乱数 seed を揺さぶり続けるため
品質的にはそれなりだが, 再現性のある乱数系列を取得することは不可能
> 2./dev/randはWindowsで使うことは出来ますか?
/dev/rand に相当するデバイスドライバを書けば OK
> また使い方は?
fd = open("/dev/rand", O_RDONLY);
read(fd, random_buff, sizeof random_buff);
> /dev/rand に相当するデバイスドライバを書けば OK
ほら。もう、バカばっかり・・・
ほら。もう、バカばっかり・・・
>>660
/dev/random
/dev/urandom
のこと? だったら、参考資料としてはこの辺とか。
http://www.linux.or.jp/JM/html/LDP_man-pages/man4/random.4.html
とりあえずCygwinなら使えるが、Linux等と同じ動作をしてるわけでは
ないと思われるため、品質や速度については不明。MinGWは知らん。
/dev/rand はぐぐってみると結構ヒットするけど、実在するの?
/dev/random
/dev/urandom
のこと? だったら、参考資料としてはこの辺とか。
http://www.linux.or.jp/JM/html/LDP_man-pages/man4/random.4.html
とりあえずCygwinなら使えるが、Linux等と同じ動作をしてるわけでは
ないと思われるため、品質や速度については不明。MinGWは知らん。
/dev/rand はぐぐってみると結構ヒットするけど、実在するの?
>>669
作ればあります。
作ればあります。
すいません、MinGWにUTF-8を認識させるようにしたいのですが、そこらへん設定するにはどうすればよいでしょうか??
どなたか教えて頂けると幸いです。
どなたか教えて頂けると幸いです。
レスありがとうございます。
>> gccのオプション指定で入力エンコードと出力エンコードを指定するって話なら判るんだけど。
分かりにくくてすいません、そんな感じのことを言いたかったのでした。
コンパイル時のオプションで設定できたんですか。
調べたら
--input-charset, --exec-charset
など、出てきました。
ありがとうございましたm(_ _)m
>> gccのオプション指定で入力エンコードと出力エンコードを指定するって話なら判るんだけど。
分かりにくくてすいません、そんな感じのことを言いたかったのでした。
コンパイル時のオプションで設定できたんですか。
調べたら
--input-charset, --exec-charset
など、出てきました。
ありがとうございましたm(_ _)m
http://sourceforge.net/forum/forum.php?forum_id=820558
> Testing: gcc-4.3.0-20080502-mingw32-alpha
いきなり 4.3.0 ですかい
> Testing: gcc-4.3.0-20080502-mingw32-alpha
いきなり 4.3.0 ですかい
おまいらソースを嫁
http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_random.cc?rev=1.36&content-type=text/x-cvsweb-markup&cvsroot=src
http://msdn.microsoft.com/en-us/library/aa379942(VS.85).aspx
各種外乱使った暗号論的擬似乱数っぽい
暗号論的に優秀なのとMCやなんかで優秀なのは違ったと思うんで
用途によるはずだがそのあたりは詳しく知らない
http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_random.cc?rev=1.36&content-type=text/x-cvsweb-markup&cvsroot=src
http://msdn.microsoft.com/en-us/library/aa379942(VS.85).aspx
各種外乱使った暗号論的擬似乱数っぽい
暗号論的に優秀なのとMCやなんかで優秀なのは違ったと思うんで
用途によるはずだがそのあたりは詳しく知らない
MinGWでのコンパイルってこの方法であってますよね?
コマンドプロンプトで、chdir ソースファイルが保存してあるディレクトリまでの絶対パスまたは相対パス
そしたら
ソースファイルが保存してあるディレクトリまでのパス>gcc ソースファイル.C -o ソースファイル.exe
これでコンパイルしてもエラーでるからコンパイルの方法が悪いのかなって思ったんだけどさ
ソースファイルは本通りに入力したはずだからあってるはず。
もうプログラミング挫折しそうです。
コマンドプロンプトで、chdir ソースファイルが保存してあるディレクトリまでの絶対パスまたは相対パス
そしたら
ソースファイルが保存してあるディレクトリまでのパス>gcc ソースファイル.C -o ソースファイル.exe
これでコンパイルしてもエラーでるからコンパイルの方法が悪いのかなって思ったんだけどさ
ソースファイルは本通りに入力したはずだからあってるはず。
もうプログラミング挫折しそうです。
エラーを貼り付けないと回答のしようがない。
コマンドライン慣れてないならVisual C++ 2008 Express Editionや
Eclipse CDT使うのも手。
コマンドライン慣れてないならVisual C++ 2008 Express Editionや
Eclipse CDT使うのも手。
すいません
>>681の通りに入力して
gcc: installation problem, cannot exec `cc1plus': No such file or directory
と表示されます。
>>681の通りに入力して
gcc: installation problem, cannot exec `cc1plus': No such file or directory
と表示されます。
目的がプログラミングの学習で、
英語が全く分からない&英語を勉強する気はない
なら VC++ 使った方がいい。
英語が全く分からない&英語を勉強する気はない
なら VC++ 使った方がいい。
おぉ そうなんですか!!
スレ違いになりますね;;
みなさんありがとうございました。
VC++で頑張ってみます
スレ違いになりますね;;
みなさんありがとうございました。
VC++で頑張ってみます
大丈夫か?初心者にVCなんか勧めて。
どうせ今度は sprintf_s、strcpys、strcat_s・・・ でつまづくだろ。
オレなら Borland C++ Compiler を薦める。
どうせ今度は sprintf_s、strcpys、strcat_s・・・ でつまづくだろ。
オレなら Borland C++ Compiler を薦める。
mallocのインターポジショニングがしたいのですが
以下のようにやってもうまくいきません。
環境はWindowsVista+cygwinでgccは3.4.4です
---main.c---
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
printf("start\n");
char* c = (char*)malloc(10);
return 0;
}
---malloc.c---
#include <stdlib.h>
#include <stdio.h>
void* malloc(size_t size)
{
printf("malloc\n");
return NULL;
}
以下のようにやってもうまくいきません。
環境はWindowsVista+cygwinでgccは3.4.4です
---main.c---
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
printf("start\n");
char* c = (char*)malloc(10);
return 0;
}
---malloc.c---
#include <stdlib.h>
#include <stdio.h>
void* malloc(size_t size)
{
printf("malloc\n");
return NULL;
}
これを以下のようにコンパイルしました
gcc -c -o testmalloc.o malloc.c
gcc -o main.exe main.c testmalloc.o
そして実行すると
./main.exe
4 [main] c 1924 sig_send: wait for sig_complete event failed, signal -34,
rc 258, Win32 error 0
とエラーになります。そのあとにstartと表示されます。
どこがまずいのでしょうか?
gcc -c -o testmalloc.o malloc.c
gcc -o main.exe main.c testmalloc.o
そして実行すると
./main.exe
4 [main] c 1924 sig_send: wait for sig_complete event failed, signal -34,
rc 258, Win32 error 0
とエラーになります。そのあとにstartと表示されます。
どこがまずいのでしょうか?
>>695さんありがとうございます。
ハリボテは駄目とのことなので、
置き換えたmallocの中で本物のmallocを呼ぼうとしたのですが、
やり方がわかりませんでした。
ためしに以下のようにしてみたのですが、駄目でした。
---malloc.c---
#include <stdlib.h>
#include <stdio.h>
static void* (*malloc_org) (size_t size);
__attribute__((constructor))
void save_malloc()
{
printf("save_malloc\n");
// 本物mallocを保存。
malloc_org = (void*(*)(size_t)) dlsym((void*)-1L, "malloc");
}
void* malloc(size_t size)
{
printf("malloc\n");
return malloc_org(size);
}
ハリボテは駄目とのことなので、
置き換えたmallocの中で本物のmallocを呼ぼうとしたのですが、
やり方がわかりませんでした。
ためしに以下のようにしてみたのですが、駄目でした。
---malloc.c---
#include <stdlib.h>
#include <stdio.h>
static void* (*malloc_org) (size_t size);
__attribute__((constructor))
void save_malloc()
{
printf("save_malloc\n");
// 本物mallocを保存。
malloc_org = (void*(*)(size_t)) dlsym((void*)-1L, "malloc");
}
void* malloc(size_t size)
{
printf("malloc\n");
return malloc_org(size);
}
gcc -c -o testmalloc.o malloc.c
gcc -o main.exe main.c testmalloc.o
./main.exe
ここで、save_mallocと出るよりも前に
mallocと表示され、そこで前回と同じ症状となりました。
何かよい方法はないでしょうか?
Cygwinだよね?
ソ ー ス 嫁
そうすれば malloc などの置き換えのために何をすればいいかわかってくる。
ただ、今回は malloc の書き直しが目標なのではないだろう?
ヘッダ・ソースから内部構造体を調べて、ヒープヲークする程度で充分なんでは?
> ここで、save_mallocと出るよりも前に
> mallocと表示され、そこで前回と同じ症状となりました。
オリジナルの malloc を"セーブ"することには意味がないよ。
むしろ malloc_org が初期化されていない場面があるってことだから
DLLから都度ポインタ得ても同じこと。
そして、DLL内部で完結している malloc を、この方法で
置き換えることは困難(つーか不可能)だ。
(たとえば strdup の内部 malloc 呼び出しをこの方法で乗っ取れるか
どうか実験してみるといい)
ソ ー ス 嫁
そうすれば malloc などの置き換えのために何をすればいいかわかってくる。
ただ、今回は malloc の書き直しが目標なのではないだろう?
ヘッダ・ソースから内部構造体を調べて、ヒープヲークする程度で充分なんでは?
> ここで、save_mallocと出るよりも前に
> mallocと表示され、そこで前回と同じ症状となりました。
オリジナルの malloc を"セーブ"することには意味がないよ。
むしろ malloc_org が初期化されていない場面があるってことだから
DLLから都度ポインタ得ても同じこと。
そして、DLL内部で完結している malloc を、この方法で
置き換えることは困難(つーか不可能)だ。
(たとえば strdup の内部 malloc 呼び出しをこの方法で乗っ取れるか
どうか実験してみるといい)
動作確認してないけど、こんなのどう?
---main.c---
#include <stdlib.h>
#include <stdio.h>
void* (*unko) (size_t size);
#define malloc unko
int main(void)
{
printf("start\n");
char* c = (char*)malloc(10);
return 0;
}
---unko.c---
#include <stdlib.h>
#include <stdio.h>
void* unko(size_t size)
{
printf("malloc\n");
return malloc(size);
}
---main.c---
#include <stdlib.h>
#include <stdio.h>
void* (*unko) (size_t size);
#define malloc unko
int main(void)
{
printf("start\n");
char* c = (char*)malloc(10);
return 0;
}
---unko.c---
#include <stdlib.h>
#include <stdio.h>
void* unko(size_t size)
{
printf("malloc\n");
return malloc(size);
}
既にCygwin環境があるWindowsで、「他者のCygwin環境でWindowsに移植されたソフトウェア」を実行しようとすると
cygwin1.dllのバージョンの差異でエラー(fatal error - system shared memory version mismatch detected)が発生します。
既にCygwin環境があるWindowsで、それぞれが独立した形(スタンドアロン)として実行する最善の方法をご教授ください。
cygwin1.dllのバージョンの差異でエラー(fatal error - system shared memory version mismatch detected)が発生します。
既にCygwin環境があるWindowsで、それぞれが独立した形(スタンドアロン)として実行する最善の方法をご教授ください。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / gcc スレッド一覧へ
みんなの評価 : ★類似してるかもしれないスレッド
- Cygwin + MinGW + GCC 相談室 Part 8 (938) - [97%] - 2022/10/28 8:00
- Cygwin + MinGW + GCC 相談室 Part 7 (996) - [97%] - 2014/9/21 2:15
- Cygwin + MinGW + GCC 相談室 Part 6 (981) - [97%] - 2012/12/30 23:15
- Cygwin + MinGW + GCC 相談室 Part 5 (981) - [97%] - 2011/4/6 2:32
- Cygwin + MinGW + GCC 相談室 Part 4 (1001) - [97%] - 2010/3/23 18:31 ☆
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について