私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレCygwin + MinGW + GCC 相談室 Part 4
gcc スレッド一覧へ / gcc とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ☆
レスフィルター : (試験中)
error: size of array `temp' is too large というエラーについてですが
int temp[3,000,000]; とかにすると小さなスタック領域では確保できなくなりエラーが起こるのですが
これはリスト構造でヒープ領域に動的確保するしかないのでしょうか?
(2,500,000番目とかにアクセスする時は効率が悪そうですが・・・)
int temp[3,000,000]; とかにすると小さなスタック領域では確保できなくなりエラーが起こるのですが
これはリスト構造でヒープ領域に動的確保するしかないのでしょうか?
(2,500,000番目とかにアクセスする時は効率が悪そうですが・・・)
スタックでは出来なくてもヒープなら大丈夫と思うが
int *p = malloc(sizeof(int) * 3000000); でどうよ?
int *p = malloc(sizeof(int) * 3000000); でどうよ?
ボーランドコンパイラにはスタック領域を変えられるオプションがあったと思うが
Cygwinの場合は何だったかな
--stack,サイズ -fstack,サイズ stack,サイズ
Cygwinの場合は何だったかな
--stack,サイズ -fstack,サイズ stack,サイズ
>>51
>これはリスト構造でヒープ領域に動的確保するしかないのでしょうか?
>(2,500,000番目とかにアクセスする時は効率が悪そうですが・・・)
文面からするとint*3メガ分ヒープから確保して全て線形リストに突っ込もうとしているように見えるが、
int* LargeBuffer = malloc( sizeof( int ) * 3000000);
LargeBuffer[2500000] = 2500000;
↑じゃだめなのか?
>これはリスト構造でヒープ領域に動的確保するしかないのでしょうか?
>(2,500,000番目とかにアクセスする時は効率が悪そうですが・・・)
文面からするとint*3メガ分ヒープから確保して全て線形リストに突っ込もうとしているように見えるが、
int* LargeBuffer = malloc( sizeof( int ) * 3000000);
LargeBuffer[2500000] = 2500000;
↑じゃだめなのか?
釣りならむしろ安心するけどさ。
#include <stdio.h>
#include <stdlib.h>
int main() {
int i;
int* pbuf = malloc( sizeof( int ) * 3000000);
for (i = 0; i < 3000000; i++) {
printf("%p\n", &pbuf[i]);
}
return 0;
}
試してみ。
#include <stdio.h>
#include <stdlib.h>
int main() {
int i;
int* pbuf = malloc( sizeof( int ) * 3000000);
for (i = 0; i < 3000000; i++) {
printf("%p\n", &pbuf[i]);
}
return 0;
}
試してみ。
>>59
3ギガバイトじゃないんだぞ
3ギガバイトじゃないんだぞ
cygwin自体が64ビット化しないと無理では?
しかしFAQによれば・・・
http://www.cygwin.com/faq/
>no one is working on a native 64 bit version of Cygwin
しかしFAQによれば・・・
http://www.cygwin.com/faq/
>no one is working on a native 64 bit version of Cygwin
GCCはShift_JISに対応しているらしい。
http://www-online.kek.jp/~keibun/pukiwiki/index.php?MinGW%A4%CB%A4%C4%A4%A4%A4%C6#mea1588c
http://www-online.kek.jp/~keibun/pukiwiki/index.php?MinGW%A4%CB%A4%C4%A4%A4%A4%C6#mea1588c
そこのページにSHIFT_JISとかだと駄目ってあるが、
そいつらだと\がU+A5に変換されるため。
そいつらだと\がU+A5に変換されるため。
mingw64というのがsourceforgeにあって適当に入れたが動かない。
面倒くさいのでパスすらろくに通してないからそりゃ当然だけど。
64bitにしたところで、32bitのdllとリンクできないから大して便利にならんなぁ。
なんでサンクみたいなのつくらなかったんだろ>MS
面倒くさいのでパスすらろくに通してないからそりゃ当然だけど。
64bitにしたところで、32bitのdllとリンクできないから大して便利にならんなぁ。
なんでサンクみたいなのつくらなかったんだろ>MS
>>68
痛ニウムの実装をそのまま持って来ちゃったんだろうな…
痛ニウムの実装をそのまま持って来ちゃったんだろうな…
>>74
> 16ビットから32ビットへの移行時はできた
それってシステムDLLだけじゃねーの?
と思ったら一般DLL向けのサンクAPIなんかあったのか
http://www7a.biglobe.ne.jp/~tsuneoka/win32tech/16.html
しかし、ここまでやるならサイズ別にコンパイルしなおしたほうが
ややこしいこと考えずに済みそうな気もするが・・・
> 16ビットから32ビットへの移行時はできた
それってシステムDLLだけじゃねーの?
と思ったら一般DLL向けのサンクAPIなんかあったのか
http://www7a.biglobe.ne.jp/~tsuneoka/win32tech/16.html
しかし、ここまでやるならサイズ別にコンパイルしなおしたほうが
ややこしいこと考えずに済みそうな気もするが・・・
>>75
LoadLibraryEx32Wとかのほうが手軽そうに見える(使ったことない)。
そこに書いてあるフラットサンクと違って、
引数の変換なんかはやってくれないが、32ビットDLLに手を入れることなく16ビットプロセスから呼び出せる。
LoadLibraryEx32Wとかのほうが手軽そうに見える(使ったことない)。
そこに書いてあるフラットサンクと違って、
引数の変換なんかはやってくれないが、32ビットDLLに手を入れることなく16ビットプロセスから呼び出せる。
最新のcygwinを使ってます。
以下の実装で以前は動いていたんですが、最近
--------------------------------------------------------
%.obj: %.cpp
@echo $<
@if [ ! -d dotDep ]; then mkdir dotDep; fi
@$(CC) $(CFLAGS) /showIncludes /TP /c /Fo$@ $< > dotDep/$*.d0 \
|| ( $(SED) -e '1{/$</d;}; /^Note: including file:/d' dotDep/$*.d0; exit 1)
@$(SED) -e '1{/$</d;}' \
-e '/^Note: including file:/d' dotDep/$*.d0
@(echo '$@: \' \
&& $(SED) -ne '/^Note: including file:/ { \
s|\\|/|g; \
s/^Note: including file:[ ]*//; \
s/$$/ \\/; \
s|^\(.\):| /cygdrive/\1|; \
p; \
}' dotDep/$*.d0 \
&& src=`$(SED) -ne '/^#line 1 /{s/.*"\([^"][^"]*\)".*/\1/; h;}' \
-e '8{x;p;q;}; $${x;p;q;}' $<`; \
&& echo "$${src:-$<}") > dotDep/$*.d1
@mv dotDep/$*.d1 dotDep/$*.d
------------------------------------------------------------------
/bin/sh: -c: line 10: syntax error near unexpected token `&&'
/bin/sh: -c: line 10: ` && echo "${src:-game.cpp}") > dotDep/game.d1'
実行すると上記のエラーになります。
どこが間違ってるのでしょう?
以下の実装で以前は動いていたんですが、最近
--------------------------------------------------------
%.obj: %.cpp
@echo $<
@if [ ! -d dotDep ]; then mkdir dotDep; fi
@$(CC) $(CFLAGS) /showIncludes /TP /c /Fo$@ $< > dotDep/$*.d0 \
|| ( $(SED) -e '1{/$</d;}; /^Note: including file:/d' dotDep/$*.d0; exit 1)
@$(SED) -e '1{/$</d;}' \
-e '/^Note: including file:/d' dotDep/$*.d0
@(echo '$@: \' \
&& $(SED) -ne '/^Note: including file:/ { \
s|\\|/|g; \
s/^Note: including file:[ ]*//; \
s/$$/ \\/; \
s|^\(.\):| /cygdrive/\1|; \
p; \
}' dotDep/$*.d0 \
&& src=`$(SED) -ne '/^#line 1 /{s/.*"\([^"][^"]*\)".*/\1/; h;}' \
-e '8{x;p;q;}; $${x;p;q;}' $<`; \
&& echo "$${src:-$<}") > dotDep/$*.d1
@mv dotDep/$*.d1 dotDep/$*.d
------------------------------------------------------------------
/bin/sh: -c: line 10: syntax error near unexpected token `&&'
/bin/sh: -c: line 10: ` && echo "${src:-game.cpp}") > dotDep/game.d1'
実行すると上記のエラーになります。
どこが間違ってるのでしょう?
mingwをインストールしたのにsndfile.h が
ないんですけど?
どうしたらいいですか?
詳しく教えて下さい。
本当に困ってます。
ないんですけど?
どうしたらいいですか?
詳しく教えて下さい。
本当に困ってます。
>ないんですけど?
ないんですか? ないのか尋ねているのですか?
>どうしたらいいですか?
そもそも、mingwにsndfile.hがあると思った根拠は?
ないんですか? ないのか尋ねているのですか?
>どうしたらいいですか?
そもそも、mingwにsndfile.hがあると思った根拠は?
>>87
MinGW に sndfile.h があるって言った奴に聞けよボケ
MinGW に sndfile.h があるって言った奴に聞けよボケ
ちょっと環境違うんですが、Darwin の gcc で以下のファイル hoge.c をコンパイルすると
warning: build-in function "index" declared as non-function
って警告がでるんですが、どういうことでしょうか?
組み込み関数に index なんてありましたっけ??
int index;
int main(int argc, char *argc[])
{ return 0; }
warning: build-in function "index" declared as non-function
って警告がでるんですが、どういうことでしょうか?
組み込み関数に index なんてありましたっけ??
int index;
int main(int argc, char *argc[])
{ return 0; }
ちなみにコンパイル時のコマンドは単に gcc hoge.c です。
>>91
$ man index
NAME
index, rindex -- locate character in string
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <strings.h>
char *
index(const char *s, int c);
char *
rindex(const char *s, int c);
$ man index
NAME
index, rindex -- locate character in string
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <strings.h>
char *
index(const char *s, int c);
char *
rindex(const char *s, int c);
ありがとう! man コマンドってCの関数も調べられるのね。
しかし strchr との違いがよくわからん。。。
しかし strchr との違いがよくわからん。。。
The index() function is an old synonym for strchr().
前へ 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 3 (1001) - [97%] - 2008/9/12 0:04 ★
- 【激遅】AppleGCC【絶望】 (111) - [1%] - 2010/1/15 10:31
トップメニューへ / →のくす牧場書庫について