「GCC」を含む日記 RSS

はてなキーワード: GCCとは

2008-10-25

http://anond.hatelabo.jp/20081025210943

やれやれ、面倒くさい子だね。Cのpdfを眺めてみたよ。9899:1999の5.1.2.2.3に載ってるから確認してくださいな。

GCCについてはここを見てね。http://gcc.gnu.org/c99status.html

鼻息荒いからからかっただけだよ、ごめんな。

http://anond.hatelabo.jp/20081025210339

ソース出せという問いに、その反応で満足するやつはプログラマじゃないな。

で、俺は思うんだが元増田がC99あるいはC++であるという根拠は全く無いし、業界標準であるgccだってC99準拠じゃないしで、その2つが正義であると振りかざしてしまうお前は随分かわいそうなヤツなんだなぁと思う。正直、業務で一番問題を起こしやすいタイプ

あんましネットプログラム知ってるよ、みたいな顔をしない方がいいと思うよ。

プログラマになれません

私は今某社でWebアプリ開発の補助をするアルバイトをしている。一応少しはコードを書く。でも、自分はプログラマじゃないな、と思う。素敵なアルゴリズムを考えたりもしない。アプリの設計は当然社員さんがやる。私がやることと言えば、機能追加のための簡単なコードを書いたり、簡単なWebアプリフレームワーク勉強しつつ書いて、見た目をCSSで整えて、そんなことだ。

やりがいを感じないわけではない。やっぱり自分の書いたコードが上手く動けば嬉しい。でも、プログラマの壁を読むと、何となく自分はコーダーになれてもプログラマにはなれないような気がしてくる。一応FizzBuzzは解ける。以下、そのコード。※追記参照

#include <stdio.h>

int main(void){
  int i;

  for(i=1; i<=100; i++){
    if((i % 3 == 0) || (i % 5 == 0)){
      if(i % 3 == 0)
        printf("Fizz");
      if(i % 5 == 0)
        printf("Buzz");
      printf("\n");
    }
    /* 以下二行と返り値追記 */
    else
      printf("%d\n", i);
  }
  return 0;
}

アルゴリズム自体は多分2分足らずでもやっと思いつき、書いてる途中で脳内もやっとを形にできた。でもCの文法を忘れていて、コンパイルを通すのに独習Cを調べつつ、5分くらいかかった。

その時に、(i mod 3 = 0)とか書いてて、なんか自分はやっぱりダメなんじゃという気にさせられた。代入と比較の区別がついてない。そういえば先日も、編集してるファイルが違ってたとかカンマをつけ忘れてたとかでエラーがでてるのに、それになかなか気がつかなかったり、if文の条件が成立する場合としない場合を逆に考えてしまったりと、そんなぼんくらミスばかりしている。

そんなときに、「ああ、自分ってプログラマ向いてないのかも」と感じさせられる。

そしてなにより自分がプログラマに向いていないと思うのは、知的探求心の問題だ。プログラマを志していたがその道を諦めた友人に、なぜプログラミング勉強をやめたのか?と聞いたとき、彼から帰ってきた答えはこうだった。「この道に進んだら一生勉強しなきゃいけないから。自分にはそんなことはとても無理だと思った」この答えを聞いたとき、でもプログラミング勉強だったら楽しくないのかな?と思った。しかし自分を省みたとき、私自身もそう熱心にプログラミング勉強をしているわけではないことに気がついた。Macに入っている一通りの言語でとりあえずHello!World!を書いたりしたが、だからといってそれらの言語の得手不得手がはっきりわかるまで勉強したわけではない。文法だって忘れてしまった。アルゴリズムを熱心に勉強したことはないし、なにより自分は最も唾棄すべき「とりあえず動けばいい」と思っている人間だ。エラーがでてそれを直しプログラムが動いたとき、なぜそのエラーが出なくなったのか?なぜ動くようになったのか?そうしたことを納得がいくまで調べることは滅多にない。なんとなく、ああいう理由なのかな?と考えて、それだけですませてしまう。もう一度書くが、自分が書いたプログラムが思った通りに動いたときは楽しい。でも、そこで止まってしまうのだ。なぜ動いたのか?それを徹底して考え、理解してはいない。

今のバイト先の開発チーフには、いつもこの点を注意される。なぜそれでいいのか徹底的に考えろ、ドキュメントをちゃんと読め、関数の挙動がわからなかったらソースを読め、と。でも正直、動いてくれたらそれでいい。さすがにライブラリドキュメントを読む癖は多少ついてきたが、けれどもそのソースを読むところまでは正直頭が、気持ちが回らない。

だから、自分はプログラマになれないと思う。いつまでたってもコーダーのままだろう。

プログラミングはとても特別な才能がいる仕事だと思う。それは、アルゴリズムデータ構造オブジェクト指向などといった抽象的なものごとを理解し、それを具体的なソースコードに落とす頭だけではなく、ものごとについてとことん考える知的探求心も必要だ。その二つを満たす人こそがプログラマなのだと、一コーダーなりに私は思う。

だから私は、プログラマになれません。

【追記】

さすがに仕様を満たしていないのは恥ずかしいので直しました。こういう間抜けなミスをするところがなぁ…orz

mainについて熱くなっている方々の話にはいまいちついていけないのですが、私はこれをCで書いたつもりですし、戻り値がないことにも警告はありませんでした。コンパイラgcc version 4.0.1 (Apple Inc. build 5465)です。

2008-10-09

http://anond.hatelabo.jp/20081007135743

同じ金をだすなら1つ2つ上のスペックデスクトップとかミドルタワーとか、もしくは2つ買ってしまうとか出来る。ディスプレイもいらないし。

別に高いスペックは要らないのでノートでも5万くらいのでいいのです。

もう一つは、なんでウィンドウズ?それもhome

サーバならGUIなんてお飾りだし、無駄に容量食うし、わざわざお金出してXP homeにする意味がわからない。ミドルタワーに2003の方がまだわかる。

2003serverでもいいんだけど、それがセットで売ってないんです。

バラで買うと高いし。

ミドルタワーとか寝てる横で稼動させたくないのです。たぶんうるさくて眠れない気がする。

あと、VC++は外せないのかな?LAMP的にPHPのかわりにGCCじゃ駄目なのかな。

gccでもいいような気もするけど、サーバ管理用にGUIとか書きたくなったときに困るかなと。

家にVC++があるってのもあるし、慣れてるから。

つか、取っ掛かりはLAMP的なレン鯖が安いし楽だと思う。

レンタルサーバーってexeとか動かせるもの?

しかし、将来的に茨の道になりそうな気がするんだよな。

それはそうかもとは思う。2年先とか3年先にはいろいろ問題発生するかもだけれども。

2008-10-07

[]http://anond.hatelabo.jp/20081007013951

一つは、なんでノートなの?と思う。

あまってるノートを自分用サーバってのはわかる。静かだし消費電力少ないし。

しかし、新規に買うとなると、何を言っても高い。同じ金をだすなら1つ2つ上のスペックデスクトップとかミドルタワーとか、もしくは2つ買ってしまうとか出来る。ディスプレイもいらないし。

もう一つは、なんでウィンドウズ?それもhome

サーバならGUIなんてお飾りだし、無駄に容量食うし、わざわざお金出してXP homeにする意味がわからない。ミドルタワーに2003の方がまだわかる。あと、VC++は外せないのかな?LAMP的にPHPのかわりにGCCじゃ駄目なのかな。つか、取っ掛かりはLAMP的なレン鯖が安いし楽だと思う。WinVC++でやりたいなら仕方ないけど。

しかし、将来的に茨の道になりそうな気がするんだよな。

とかとか気になる。

逆に、ここ数年MS万歳な環境でやってます、とか、前はそんなんでした、なんていう個人の方とか、いたりしませんかね。LAMPの話は良く聞くけど、MSなのは商業しか聞かない。

2008-09-04

今時BCCかよw

とっくに身売りしたぜ。VC買っとけ。と思った。

CCといえばGCCなのに。

2008-03-20

[]gcc-xmlVisual Studio 2005を使いたい!

gcc-xmlって何?

gccの構文解析の結果(構文木)を、XMLとして出力してくれるツールです。C++の構文解析はやたらと面倒らしいので、こういうのがあるとうれしいみたいよ。

何でわざわざビルドするの?

Py++」というC++のPytyonバインディングで使われていたので、必要になりました。gcc-xml 0.6はバイナリで配布されてるんだけど、MSVC7.1までしか対応してないようで、Visual Studio 2005だと使えませんでした。うーん、困った。というわけで、最新版のソース一式を取得してビルドしてみます。

CMakeをインストールしよう

gcc-xmlビルドには、CMakeというツールが必要になります。CMakeは、オープンソースクロスプラットフォームビルドシステムなんだとか。CMakeの公式サイトから、Windows版のインストーラーをダウンロードしてインストールしよう。

実は最初は、ここでcygwinのsetup.exe経由でのインストールをしてたんですけど、これだとgcc-xmlビルドの段階でエラーが発生しちゃいました。この原因がどうしてもわかんなかったので、あきらめて公式サイトインストーラーを使うことにした次第です。

gcc-xmlソース一式を取得しよう

ソース一式はCVSから取得できます。CVSクライアントはいろんなのがあるので、好きなクライアントを使って取得しよう。ここではcygwinCVSを使って、シェルから以下の命令を実行して取得しました。40MBくらいあるみたい。

$ cvs -d :pserver:anoncvs@www.gccxml.org:/cvsroot/GCC_XML co gccxml

gcc-xmlビルドしよう その1

Visual Studio 2005 コマンドプロンプト」を起動してください。起動したら、さきほど取得したソース一式が格納されているディレクトリに移動して、以下の命令を実行します。

$ cmake .

cmake.exeにはあらかじめパスを通しておくか、パスを直接指定するのを忘れずにね。

gcc-xmlビルドしよう その2

gcc-xmlビルドはまだ終了してなかった! 一度ビルドが終了しても、第二第三のビルドが必要となって…。などと恐れおののきましたが、二段階でいいみたい。

さきほどの処理が終了すると、同じディレクトリに"gccxml.sln"というソリューションファイルが新しくできあがっているかと思います。これをVisual Studio 2005から開いて、Releaseビルドしよう。ビルドが終了したら、以下の5つの実行ファイルができあがっているはずです。

  • bin/release/gccxml.exe
  • bin/release/gccxml_cc1plus.exe
  • bin/release/gccxml_vcconfig.exe
  • bin/release/gxsysEncodeExecutable.exe
  • bin/release/gxsysProcessFwd9x.exe

gcc-xmlVisual Studio 2005を使えるように設定しよう

まずは環境変数の設定です。Visual Studio 2005を使っていることを、gcc-xmlに高らかに宣言しておこう。

$ set GCCXML_COMPILER=msvc8

つぎに、gccからVisual Studio 2005のインクルードファイルを使えるよう、パッチをあてます。ありがたいことに、"GCC_XML/VcInstall"ディレクトリ以下にVisual Studioバージョンによってパッチが用意されています。そのディレクトリと、パッチを当てたファイルを出力するディレクトリ("gccxml.exe"が置いてあるディレクトリ)を指定して、"gccxml_vcconfig.exe"を実行してください。

$ bin/release/gccxml_vcconfig GCC_XML/VcInstall/ bin/release

gcc-xmlを使ってみよう

あとはbin/releaseにパスを通せば、gcc-xmlが使えるようになったはずです。bin/release以下をどこか適当ディレクトリコピーして、そこにパスを通してもオッケイです。やったね! というわけで、さっそく試してみましょう。

$ gccxml eample1.cpp -fxml=example1.xml

ここでは、解析するC++ソースファイルとしてeample1.cpp入力し、eample1.xmlを出力しています。ちゃんと出力できたかな? できたー! やったー!

以上で終わりです。

2007-05-10

http://anond.hatelabo.jp/20070510204714

そりゃ gcc しか習ってないなら make の必要性なんてわからんだろう。せめて三つのモジュールからなるプログラムスクラッチから書いてみればいい。いちいち手動でコンパイル&リンクするのが鬱陶しくなってくる。必要が無いうちは使う意味が無いからな。

2007-05-07

SilverlightはJavaScriptの300倍以上の速度?

http://journal.mycom.co.jp/articles/2007/05/07/mix02/001.html

とのことなのでちょっと実験してみました。

まず、用意するのは以下の円周率を求めるルーチンベンチマーク用にループ回数を固定してあります。JavaScriptでは若干変更があります。

double pi()
{
        double pi, ppi;
        int k = 0;
        float ek = 0.0;

        while (k < 1000000) {
                ppi = pi;
                ek = 8.0*k;
                pi += (4/(ek+1) - 2/(ek+4) - 1/(ek+5) - 1/(ek+6)) / pow(16.0, k);
                k++;
        }
        return pi;
}

そんでもって次の環境で処理時間を計ります。

結果は以下の通り。

ブラウザとか平均処理時間 [秒]Cと比べて何倍かかったか
C0.28(1.0)
Safari8.3930
Camino6.4523
Firefox10.3437
Opera3.3111.8
WebKit3.1811.4

あれぇー? てことはSilverlightってCより8倍以上速いじゃん!!

ktkr!!!!

wktkして待ちましょー

2007-03-10

開発環境を整える。

今日はなんかコードを書く気になれんので、開発環境でも整えよう。

自分の物理的な開発環境は、会社PCと自宅PC(デスクトップ)、自宅PC2(ノート)。

会社PCと自宅PCデスクトップWindowsで自宅PC2(ノート)はUbuntu Linuxみたいな構成になっている。


基本的には、PHPコードしかいまんとこ書いてないんだけど、まあいろいろ他のコードも書いたり。

いややっぱりPHPしか書いてないか。現在の構成は以下のようなかんじ。


会社開発環境:Eclipse + Aptana + PHPEclipse ほんで日本語入力skk。あとは特になしデフォ

自宅(デスクトップ)開発環境:萌ディタ + FFFTP。あんまこっちじゃ開発してない。

自宅(ノート)開発環境:gedit(なんか標準でついてるやつ)。これで書いて、ごにょごにょみたいな。(Apacheいれて)。こっちメイン


ほんで、これを統括するリポジトリBTS会社リポジトリは、SourceSafeとSubversionがある。Subversion移行中。

BTSはMantisとかいうのだったはず。導入したばっか。あと個人用にもSvnリポジトリがある。趣味の開発とかはこっちへ。


なんというか正直複雑するというか、結構面倒なんでいろいろ統一しようと思う。

まず自宅はノート遅すぎなので(このご時世にX20はねーわ)、デスクトップだけにしてノートはお蔵入り方向で。さようなら。

会社の開発環境もちょい変えよう。なんかEclipseはだめだ。僕みたいな初心者プログラマには便利すぎ。

なんかどんなコードを書いても動いてしまいそうな気がする。よくない(自分がだけど--)。


基本構成は、http://www.itmedia.co.jp/enterprise/articles/0703/07/news017.htmlを参考に。

会社と自宅のデスクトップcoLinuxを入れて、上記3種の神器を入れる(ミーハーでごめん)。

OSDebianの予定(apt-getさいこー)。

次に全PCIMESKKに。いい加減統一しないと指が変なかんじになってきている。

これでコードを書いたり、文書を書いたりできるようになった。次に開発動作環境

Apachephprubygccg++とnasmとjavahaskellperlぶっこんどこう。jsFirefoxで動くからすばらしいね。

次は、subversionmakeqemuいれとく。


社内環境はどうにも変えようもないけれど、BTSとかSVNに変更が発生したらIRCメッセージ流すのはいいと思った。

http://www.itmedia.co.jp/bizid/articles/0703/01/news113.html

(ほんとミーハーry)

はやめにPG終わらせてやってみよう。


まあこんなかんじかなあ。だらだらと書いてしまった。まあよさげ。ちなみにこれ以外のごにょごにょ

だいたいgmailbloglinesとらくがき帳でいいかんじ。

ログイン ユーザー登録
ようこそ ゲスト さん