可変長配列ねぇ
可変長配列ねぇ
雑談です
「とうや」さんのスレッド「周期境界条件を用いたプログラム」のプログラムを見ていたら
>int int_rnd(int N, int m, int *set)
>{
> int a,i,j,k,count;
> int blank[N];
> 以下略
なんてのがあるじゃないですか・・・いつのまにこんな事ができるようになったんだ・・・て
調べたらC99の新機能だとか。へぇーって。いやーあれば便利だよねって昔から思ってたんですよ。
それじゃ、試さなきゃと思い、BorlandC++5.0じゃ、きっと対応してないだろうと思い、やっぱ、
一番新しいのは、VC++2008だなと、試したらエラー。調べてみたら対応してないみたい。
試せるコンパイラないじゃないですか。なんだったら対応してるんですか?金無いけど。
「とうや」さんのスレッド「周期境界条件を用いたプログラム」のプログラムを見ていたら
>int int_rnd(int N, int m, int *set)
>{
> int a,i,j,k,count;
> int blank[N];
> 以下略
なんてのがあるじゃないですか・・・いつのまにこんな事ができるようになったんだ・・・て
調べたらC99の新機能だとか。へぇーって。いやーあれば便利だよねって昔から思ってたんですよ。
それじゃ、試さなきゃと思い、BorlandC++5.0じゃ、きっと対応してないだろうと思い、やっぱ、
一番新しいのは、VC++2008だなと、試したらエラー。調べてみたら対応してないみたい。
試せるコンパイラないじゃないですか。なんだったら対応してるんですか?金無いけど。
Re:可変長配列ねぇ
GCCなら使えます。
GCCでC99のソースをコンパイルするには、-std=c99または-std=gnu99オプションをつけますが、元々GCCの独自拡張として可変長配列がサポートされていましたので、オプションなしでも使えます。
GCCでC99のソースをコンパイルするには、-std=c99または-std=gnu99オプションをつけますが、元々GCCの独自拡張として可変長配列がサポートされていましたので、オプションなしでも使えます。
Re:可変長配列ねぇ
GCCですか。
確か、TOPPERSの研修に行って、使いましたっけ?
あのときは Cygwin入れて、makeがえらくめんどくさいって記憶しか・・・
言われるとおりに、ただやっただけでコンパイラオプションの意味もわかりませんでした。
まったく下知識がないので、ずばり教えてください。
Widowsでやるときは、やっぱり、Cygwinの元で動かすのですか?
確か、TOPPERSの研修に行って、使いましたっけ?
あのときは Cygwin入れて、makeがえらくめんどくさいって記憶しか・・・
言われるとおりに、ただやっただけでコンパイラオプションの意味もわかりませんでした。
まったく下知識がないので、ずばり教えてください。
Widowsでやるときは、やっぱり、Cygwinの元で動かすのですか?
Re:可変長配列ねぇ
> 確か、TOPPERSの研修に行って、使いましたっけ?
> あのときは Cygwin入れて、makeがえらくめんどくさいって記憶しか・・・
私もTOPPERSプロジェクトにかなり深く関わっていますので、その手の話はよく聞きますが...
TOPPERSの場合はクロスコンパイラを用意する必要があるので、自分でGCCやBinutilsをビルドする必要があるわけです。
組込み向けであれば、GCCに限らず、C99に対応した商用コンパイラも結構出ていますので、面倒ならそれらを購入するのが手っ取り早いですね。
> Widowsでやるときは、やっぱり、Cygwinの元で動かすのですか?
その方が便利だとは思います。
Cygwinなら-mno-cygwinオプションを付ければMinGWとしても使えます。
> あのときは Cygwin入れて、makeがえらくめんどくさいって記憶しか・・・
私もTOPPERSプロジェクトにかなり深く関わっていますので、その手の話はよく聞きますが...
TOPPERSの場合はクロスコンパイラを用意する必要があるので、自分でGCCやBinutilsをビルドする必要があるわけです。
組込み向けであれば、GCCに限らず、C99に対応した商用コンパイラも結構出ていますので、面倒ならそれらを購入するのが手っ取り早いですね。
> Widowsでやるときは、やっぱり、Cygwinの元で動かすのですか?
その方が便利だとは思います。
Cygwinなら-mno-cygwinオプションを付ければMinGWとしても使えます。
Re:可変長配列ねぇ
そうですか。面倒ですね。ただ端に、C99使ってみたいからだけでは、とても手を出したくないですね。
Blueさん。
MInGWってのは、何のことかわからないので、ちょっと調べて見ます。紹介するってことは、Cygwinより
何かがいいってことですね。
Blueさん。
MInGWってのは、何のことかわからないので、ちょっと調べて見ます。紹介するってことは、Cygwinより
何かがいいってことですね。
Re:可変長配列ねぇ
> 面倒ですね。
何をもって面倒といわれるのか不明です。
Cygwinのインストールは、setup.exeを実行すればよいだけで、選択すべき項目も事実上2箇所です。
すなわち、ダウンロード元とGCCが使えるようにパッケージを選択する部分だけです。
Visual Studioのインストールよりずっと簡単です。
何をもって面倒といわれるのか不明です。
Cygwinのインストールは、setup.exeを実行すればよいだけで、選択すべき項目も事実上2箇所です。
すなわち、ダウンロード元とGCCが使えるようにパッケージを選択する部分だけです。
Visual Studioのインストールよりずっと簡単です。
Re:可変長配列ねぇ
飲み会から帰ってきました。
>何をもって面倒といわれるのか不明です。
そうですか。TOPPERSのときの印象があって、考えてみれば、Cygwin以降が面倒だったですね。
面倒なのはクロスの方でした。
今度、インストールしてみます。クロスと違ってバージョンは一番新しいGCCをインストールすれば
いいのでしょうか?
>何をもって面倒といわれるのか不明です。
そうですか。TOPPERSのときの印象があって、考えてみれば、Cygwin以降が面倒だったですね。
面倒なのはクロスの方でした。
今度、インストールしてみます。クロスと違ってバージョンは一番新しいGCCをインストールすれば
いいのでしょうか?
Re:可変長配列ねぇ
> クロスと違ってバージョンは一番新しいGCCをインストールすれば
> いいのでしょうか?
Cygwinのインストーラでインストールできるのは、3.4.xだと思うのでそんなに新しくありませんが、C99に触れてみたいだけならそれで十分です。
> いいのでしょうか?
Cygwinのインストーラでインストールできるのは、3.4.xだと思うのでそんなに新しくありませんが、C99に触れてみたいだけならそれで十分です。
Re:可変長配列ねぇ
今日、Cygwin入れて、試してみました。
悪戦苦闘の2時間、ようやく可変長変数を試すことができました。
何に苦戦したかって・・・
まず、UNIXのコマンドがわからない。ls,mkdir,cdぐらいかな知ってるのは。
homeがどこにできたかわからない。
インストールしたところにhomeがないよ~どこ行った。(ネットワークドライブにいたよ。なんで。)
viエディタの使い方がわからない。(いいやnotepadで)
C++の拡張子はどうすんだ。
実行ファイルができたのに、実行できない。あれ、カレントなのにパスが通ってない。
やったーできた。まで、全部で2時間かかりましたが、無事に動きました。
たぶん、もう使うことはないでしょう。やっぱ、使い慣れたBC++が一番。
悪戦苦闘の2時間、ようやく可変長変数を試すことができました。
何に苦戦したかって・・・
まず、UNIXのコマンドがわからない。ls,mkdir,cdぐらいかな知ってるのは。
homeがどこにできたかわからない。
インストールしたところにhomeがないよ~どこ行った。(ネットワークドライブにいたよ。なんで。)
viエディタの使い方がわからない。(いいやnotepadで)
C++の拡張子はどうすんだ。
実行ファイルができたのに、実行できない。あれ、カレントなのにパスが通ってない。
やったーできた。まで、全部で2時間かかりましたが、無事に動きました。
たぶん、もう使うことはないでしょう。やっぱ、使い慣れたBC++が一番。