c
Mac OS X で lcc (lcc, A Retargetable Compiler for ANSI C) を使う方法普通にビルドできます $ git clone https://github.com/drh/lcc.git $ cd lcc $ mkdir build $ export BUILDDIR=./build $ make rcc $ build/rcc -target=x86/linux tst/8q.c build/rcc…
lsコマンドって一番使うコマンドじゃないでしょうか.おそらく僕が始めて使ったコマンドもlsだと思います.その時,lsのコマンドの出力が綺麗に整列されて出力されるのがすごく不思議でした.今考えれば端末幅取得してごにょごにょしてるんだろうな,という…
gtkを勉強してて、コールバック関数を登録する際、 g_signal_connect(button,"clicked",G_CALLBACK(callback),(gpointer)"button 1"); とかしてて、このG_CALLBACK()って何してるんだろうと思ったけど、 typedef void (*GCallback) (void); #define G_CALLBA…
こんな感じにすればできるらしい。 #include <stdio.h> #include <termios.h> #include <fcntl.h> #include <time.h> int main(int argc, char const* argv[]) { struct termios save_settings; struct termios settings; char c; tcgetattr(0,&save_settings); settings = save_settings; setting</time.h></fcntl.h></termios.h></stdio.h>…
なんか前にも似たようなこと書いた気がするけど、2次元配列を関数に渡す場合普通だったらポインタ配列を使うんだろうけど、 #include <stdio.h> void foo1(int *data[],int row,int column){ int i,j; for(i = 0;i < row;i++){ for(j = 0;j < column;j++){ printf("%d</stdio.h>…
ICMPのパケットを見てはじめて気がつきましたが、こんなこともできるんですね。 これは…気づかなかった…。言われてみればそうだけど。というかいいのかこれ…。
今日関数へのポインタを作ろうと思ったら度忘れしたのでめも。 基本形: 戻り値の型 (*名前) (引数); 例 int (*func) (int,char *); void (*func) (); double (*func) (double,void(*)(int,int)); 関数名は実際は関数へのポインタなので、そのまま代入できる…
int *pについて。+は値が1増加したことを示す。はじめのp,p[0],p[1]の値は式の評価時時点での値。その次が評価終了時点での値。 *と++は優先順位が等しい(右から左へ評価される) 式 評価値 p p[0] p[1] p p[0] p[1] *++p p[1] + - - - - - ++*p = ++(*p) p…
自分はもう、ポインタについて理解したと思っていましたが、昨日今日とプログラミングしてみて全然分かってないということが分かったので、自分なりにメモしておこうと思います。もし間違ってるところがあれば指摘いただけるとうれしいです。 参考 ポインタ…
学校の授業では,windows環境でcをやっていますが、授業で作るプログラムなんてせいぜい数百行です。なので、このときに、vimから :!cl hoge.c なんてできるといいのですが、初期状態だとただのpathの通ってないコマンドプロンプトが起動してコンパイルできな…