set logscale cbpm3dでカラーバーに表示される数字のフォーマットを変更
set format cb "10^{%L}"
ylabelの位置を変えるset ylabel "hogehoge" -1,0
set logscale cbpm3dでカラーバーに表示される数字のフォーマットを変更
set format cb "10^{%L}"
ylabelの位置を変えるset ylabel "hogehoge" -1,0
#ifndef HELLO_H #define HELLO_H void sayHello(); #endif
#include#include"hello.h" void sayHello(){ printf("Hello!!\n"); }
gcc -I ${HOME}/include/ -fPIC -shared hello.c -o ${HOME}/lib/libhello.so.1
そして、${HOME}/lib/にて、シンボリックリンクを作成。新しいバージョンができたらこのリンクを作り替える。
ln -s libhello.so.1 libhello.soさらにライブラリを使う側を実装。
#include"hello.h"
int main(){
sayHello();
return 0;
}
そして、コンパイル。
gcc -I ${HOME}/include -L${HOME}/lib -lhello use.c
-lで、「libhello.so」のlibと拡張子を除いたものを指定。-LでそのライブラリのPATHを指定する。./a.outなどど実行すると。
./a.out: error while loading shared libraries: libhello.so: cannot open shared object file: No such file or directoryと叱られる。ライブラリの検索PATHに${HOME}/libが無いためである。ここで普通は、LD_LIBRARY_PATHに${HOME}/libを追加するのだが、Ubuntuでは、ldconfigを使うらしい。
/home/hoge/libそして、設定を反映させるために
sudo ldconfigすると無事ライブラリを使用したプログラムを実行できる
./a.outまた、リンクするライブラリを確認するには、
ldd a.out
#include以下がi386環境での実行結果#include int main(int argc,char **argv){ printf("size of char: %d bit\n",CHAR_BIT); printf(" char range is %d -> %d\n",CHAR_MIN,CHAR_MAX); printf(" signed char range is %d -> %d\n",SCHAR_MIN,SCHAR_MAX); printf("unsigned char range is 0 -> %u\n",UCHAR_MAX); printf(" int range is %d -> %d\n",INT_MIN,INT_MAX); printf("unsigned int range is 0 -> %u\n",UINT_MAX); printf(" short range is %d -> %d\n",SHRT_MIN,SHRT_MAX); printf("unsigned short range is 0 -> %u\n",USHRT_MAX); printf(" long range is %ld -> %ld\n",LONG_MIN,LONG_MAX); printf("unsigned long range is 0 -> %lu\n",ULONG_MAX); return 0; }
size of char: 8 bit
char range is -128 -> 127
signed char range is -128 -> 127
unsigned char range is 0 -> 255
int range is -2147483648 -> 2147483647
unsigned int range is 0 -> 4294967295
short range is -32768 -> 32767
unsigned short range is 0 -> 65535
long range is -2147483648 -> 2147483647
unsigned long range is 0 -> 4294967295
以下がamd64環境での実行結果
size of char: 8 bit
char range is -128 -> 127
signed char range is -128 -> 127
unsigned char range is 0 -> 255
int range is -2147483648 -> 2147483647
unsigned int range is 0 -> 4294967295
short range is -32768 -> 32767
unsigned short range is 0 -> 65535
long range is -9223372036854775808 -> 9223372036854775807
unsigned long range is 0 -> 18446744073709551615