C

コードの最適化

関数 #include <stdio.h> void func1 (int x, int a[]) { int i, j; for (i = 0; i < 10; i ++) { a[i] = i; } } int main (void) { int x[10]; func1 (5, x); return 0; } gcc -O0 -S でこんぱいる .file "ex4.c" .text .globl func1 .type func1, @function func1: </stdio.h>…

while(1){LOVE++;}を最適化

最近ツイッターで "while(1){LOVE++}"と書き込まれてる指輪があって、 そのソースは最適化でLOVEが消えてただの無限ループになる云々という話があったので検証。 http://togetter.com/li/144840 用意したソースはこちら。 int main() { int LOVE = 0; while(…

ポインタとか文字列とかなんだとか

C C++

ポインタと、ポインタと配列の関係と、文字列についてやってほしいと言われたのでこないだ話したの。 プログラム自体が初めてという人と、それなりの手練と、C以外ならそれなりとか、たくさんのバックグラウンドの人がいる。 プログラム初心者は授業でもう習…

何故ポインタは変数の型情報が必要なのか

C C++

とらのかいでよい質問がされたので答えてみる。 ポインタは変数のアドレスを格納する変数の事。 アドレスは32bitのOSならば4byteで表現でき、 当然それの値を格納するポインタも4byte。 元の変数の型が違ってもすべて4byte。 なら何故、アドレス型とかにしな…