タグ int a
人気順 5 users 50 users 100 users 500 users 1000 userschar* を Go の string に変換するテクニック
はじめに Go には cgo と呼ばれる、Go からC言語を扱う為の機能があります。go build を実行すると、内部でC言語のコンパイラが実行され、ソースの一部が Go に取り込まれます。 cgo とは まずは以下を見て下さい。 //go:build ignore // +build ignore package main /* int add(int a, int b) { return a + b; } */ imp... 続きを読む
Cコンパイラをスクラッチから開発してみた(日記) - Qiita
以前に8ccというCコンパイラをゼロからひとりで開発していたときのログです。40日でセルフコンパイルできるところまで到達しています。日付はすべて2012年です。コードとヒストリはすべてGitHubで見れます。 3月4日 というわけでコンパイラを作っているわけだけど、1000行くらい書いたらそれなりに動き始めてきた。こんなのも動くし: int a = 1; a + 2; // => 3 こういうのも... 続きを読む
コードのネストを深くするな | anopara
昔の記事にも書いたのだが、ソースコードのネストは小さければ小さいほど読みやすい。 ではどうするか。一つは、returnできるところでさっさとreturnするというのが良いだろうと思う。 たとえば、 public int func1(int a, int b) { int result; if (a > 10) { if (a > 20) { if (a > 30) result = b; else... 続きを読む
C99の配列初期化に潜む罠 - monoの開発ブログ
C99では配列初期化が拡張されています。一見便利そうなのですが、特大の罠が仕込まれていてかなりの時間を無駄にしたのでとても残念な気持ちです。 ここで話すC99の拡張とは、配列の初期化に要素指示子を利用できるようになったことを指しています。 int a[] = { [3] = 1, [7] = 2, }; こんな感じで記述すると、a[3] が 1、a[7] が 2 で初期化されます。 では、以下のよ... 続きを読む
いやなブログ - 浮動小数点演算ではまった話
浮動小数点演算ではまった話 浮動小数点演算のありがちな問題ではまりました。 いろいろ調べているうちに x86 特有のちょっとおもしろい 現象に遭遇したので紹介したいと思います。 パーセンテージの計算 簡単な C のプログラムでパーセンテージを計算しようと思い、 次のようなコードを書きました。 int x, y; ... int a = (double)x / y * 100; int a = x ... 続きを読む