はてブログ

はてなブックマーク新着エントリーの過去ログサイトです。



タグ int a

新着順 人気順 5 users 10 users 50 users 100 users 500 users 1000 users
 
(1 - 5 / 5件)
 

char* を Go の string に変換するテクニック

2022/12/24 このエントリーをはてなブックマークに追加 10 users Instapaper Pocket Tweet Facebook Share Evernote Clip char String imp cGO コンパイラ

はじめに 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

2014/09/06 このエントリーをはてなブックマークに追加 537 users Instapaper Pocket Tweet Facebook Share Evernote Clip Qiita ヒストリ スクラッチ コンパイラ Cコンパイラ

以前に8ccというCコンパイラをゼロからひとりで開発していたときのログです。40日でセルフコンパイルできるところまで到達しています。日付はすべて2012年です。コードとヒストリはすべてGitHubで見れます。 3月4日 というわけでコンパイラを作っているわけだけど、1000行くらい書いたらそれなりに動き始めてきた。こんなのも動くし: int a = 1; a + 2; // => 3 こういうのも... 続きを読む

コードのネストを深くするな | anopara

2014/08/15 このエントリーをはてなブックマークに追加 407 users Instapaper Pocket Tweet Facebook Share Evernote Clip result anopara else ネスト ソースコード

昔の記事にも書いたのだが、ソースコードのネストは小さければ小さいほど読みやすい。 ではどうするか。一つは、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の開発ブログ

2013/07/30 このエントリーをはてなブックマークに追加 88 users Instapaper Pocket Tweet Facebook Share Evernote Clip 配列 特大 mono 拡張 初期化

C99では配列初期化が拡張されています。一見便利そうなのですが、特大の罠が仕込まれていてかなりの時間を無駄にしたのでとても残念な気持ちです。 ここで話すC99の拡張とは、配列の初期化に要素指示子を利用できるようになったことを指しています。 int a[] = { [3] = 1, [7] = 2, }; こんな感じで記述すると、a[3] が 1、a[7] が 2 で初期化されます。 では、以下のよ... 続きを読む

いやなブログ - 浮動小数点演算ではまった話

2007/02/28 このエントリーをはてなブックマークに追加 146 users Instapaper Pocket Tweet Facebook Share Evernote Clip 浮動小数点演算 Double パーセンテージ int x 現象

浮動小数点演算ではまった話 浮動小数点演算のありがちな問題ではまりました。 いろいろ調べているうちに x86 特有のちょっとおもしろい 現象に遭遇したので紹介したいと思います。 パーセンテージの計算 簡単な C のプログラムでパーセンテージを計算しようと思い、 次のようなコードを書きました。 int x, y; ... int a = (double)x / y * 100; int a = x ... 続きを読む

 
(1 - 5 / 5件)