clangでc言語のソースコードからLLVM IRを得る
c言語のソースコードをLLVM IR に変換するときのコマンドのメモ。
c++の場合はclangをclang++に置き換えればおおよそ同じように出来るはず。
c言語のソースコードをLLVM IR に変換するときのコマンドのメモ。
c++の場合はclangをclang++に置き換えればおおよそ同じように出来るはず。
とある事情から、Pythonのlistがどれくらいのメモリを確保しているのか知りたくなったので、listのcapacityを取得する関数を作ってみました。
c/c++で数値の符号を判定したい。
頻繁に使うので関数にしたい。
ぱっと思いつく範囲では、 「条件分岐」か「絶対値で除算」するくらいだと思います。
Cで書くなら
バイトオーダーを考慮してプログラムを組む必要があるときに超お手軽にバイトオーダーを判定する関数の作り方
#include <stdio.h>
int islittle(void)
{
unsigned i = 1;
return *((char *)&i);
}
int main(int argc, char const *argv[])
{
if (islittle())
{
printf("little endian\n");
}
else
{
printf("big endian\n");
}
}
原理は以下の通りです。unsignedを4バイトと仮定して1で初期化した場合メモリ上のデータの配置が
リトルエンディアンなら
c/c++でunix系osプログラミングを行うときに使うunistd.hやその周辺のライブラリのお話その5です。
このメモでは、プロセス周りのシステムコールAPIに関して取り上げます。
c/c++でunix系osプログラミングを行うときに使うunistd.hやその周辺のライブラリのお話その4です。
このメモでは、プロセス周りのシステムコールAPIに関して取り上げます。
c/c++でunix系osプログラミングを行うときに使うunistd.hやその周辺のライブラリのお話その3です。
このメモでは、プロセス周りのシステムコールAPIに関して取り上げます。
c/c++でunix系osプログラミングを行うときに使うunistd.hやその周辺のライブラリのお話その2です。
このメモでは、ファイルの入出力に関して取り上げます。
c/c++でunix系osプログラミングを行うときに使うunistd.hやその周辺のライブラリのお話です。
このメモでは、ファイルの入出力に関して取り上げます。