C: 何となくやってみた。
以下をGCCでコンパイル。
通った・・・
しかも、エラー無しで動く・・・
コンパイラの型チェックとか意味ない。。。
危険過ぎる。。。
}
--環境--
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
>gcc -v
Reading specs from C:/Program Files/GNU/MinGW/bin/../lib/gcc/mingw32/3.4.2/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable -languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.2 (mingw-special)
通った・・・
しかも、エラー無しで動く・・・
コンパイラの型チェックとか意味ない。。。
危険過ぎる。。。
#include <stdio.h>
int aaa(int a, int b){
return a + b;
}
int main(){
void *(*a)() = (void*)aaa;
printf("%d\n", a);
printf("%d\n", (int)a(10) );
printf("%d\n", (int)a(10, 10) );
printf("%d\n", (int)a(10, 10, 10) );
return 1;
}
--環境--
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
>gcc -v
Reading specs from C:/Program Files/GNU/MinGW/bin/../lib/gcc/mingw32/3.4.2/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable -languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug
Thread model: win32
gcc version 3.4.2 (mingw-special)
コメント