C言語なら俺に聞け(入門篇) Part 15
at TECH
591:デフォルトの名無しさん
07/07/03 12:36:02
GCC で試した所、
-O (最適化レベル1か、それ以上)
-funroll-loops (ループ展開最適化)
フラグを立てると >>585 みたいなコードを吐いてくれるみたいだ。
int toInt(const char* ch) {
union {
char ch[sizeof (int)];
int i;
} endian;
int i;
int shift, dshift;
int n = 0;
endian.i = 0;
shift = *endian.ch ? 0 : (sizeof (int) - 1) * CHAR_BIT;
dshift = *endian.ch ? CHAR_BIT : -CHAR_BIT;
for(i = 0; i < sizeof (int); i++) {
n |= ch[i] << shift;
shift += dshift;
}
return n;
}
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5381日前に更新/185 KB
担当:undef