wordpress導入時以来、久しぶりにmysqlいじったら全くわすれていたので、メモ
テーブル名が知りたいのに、ずっとSELECT文にかまっていて、イラっ♪
まずデータベースを選択してから、参照。
> USE データベース名;
> SHOW TABLES;
wordpress導入時以来、久しぶりにmysqlいじったら全くわすれていたので、メモ
テーブル名が知りたいのに、ずっとSELECT文にかまっていて、イラっ♪
まずデータベースを選択してから、参照。
> USE データベース名;
> SHOW TABLES;
C言語のマクロで面白そうなものをメモ!
#include
#define _PFP(str) printf("%s\n", str)
#define ASIZEOF(array) (sizeof(array) / sizeof(array[0]))
#define FOR(i, j) for(((i) = 0); ((i) < (j)); ((i)++))
#define ISR(str) str, #str
enum etest{ aaa, bbb, ccc };
typedef struct _stest
{
enum etest yyy;
char *name;
}stest;
int main()
{
int i;
stest ts[] = { ISR(aaa), ISR(bbb), ISR(ccc) };
FOR(i, ASIZEOF(ts))
_PFP(ts[i].name);
}
enumとマクロの組み合わせ
for文
配列の要素数を求める
の3つが特に面白いとおもう。
積極的にマクロを使うのもいいかなーっ
ただ、マクロが嫌いな人もいると思うので、使っていいのか悩みどころ。。
最近流行りのスマートフォンや情報端末などに積んであるCPUやチップセットについて気になったのでチョコっと調べたメモ
まずiPhoneの原型のiPod touchから。
第1世代
ARM11 400MHz 1.1.2から412MHz
第2世代
ARM11 533MHz
第3世代
ARM Cortex-A8 600MHz
次はiPhone
iPhone
400MHz 1.1.2から412MHz ARMv6ベース。SIMDとFPUを内蔵する32ビットRISC
iPhone 3G
iPhoneと同じ
iPhone 3GS
600 MHz ARM Cortex-A8
iPhone 4
Apple A4 =? Cortex-A8 (すごく似てるらしい)
今欲しいiPad
Apple A4 =? Cortex-A8 (すごく似てるらしい)
最後に携帯達
Nexus One
Snapdragon
Xperia
Snapdragon
X06HT
Snapdragon
CPUの製造メーカーを見ると、
AppleはSamsung製
GooleはQualcomm製
Snapdragonってなんじゃーと思って調べたらCPU名じゃなくてチップセットだった@@
これまた ARMを積んでるみたいです。
どうやら流行りのスマート系は ARM を積んでるみたい。
違いはチップセットやデバイス構成だったりするみたいです。
OSが動くCPUはインテルとAMDとARMでおkってことですか?@@ なんて思ったり。
こんどARMについて調べてみよう。
4回も毎回調べてるので そろそろメモメモ
Linuxでの、日本語化と、C, C++の設定方法です。
ちなみに、Windwos用のEclipseは
http://mergedoc.sourceforge.jp/
ここの、”Pleiades All in One”で最初から使える環境がZipで配布されています。
さて、流れです↓↓。
1. まずEclipseをダウンロード
http://www.eclipse.org/downloads/
ここでは “Eclipse IDE for C/C++ Developers (79 MB)“をダウンロードします
2. 次に日本語化プロジェクトのプレアデスをダウンロード
http://mergedoc.sourceforge.jp/
“ダウンロード”の下に、さり気なくある”Pleiades 本体ダウンロード”の安定版1.3.1“をダウンロードします(2010/05/22現時点)
3. 最後にEclipseはjavaで動いているのでJVMをダウンロード
今回では
jre http://java.com/ja/download/linux_manual.jsp?locale=ja&host=java.com:80
の、”Linux (自己解凍ファイル) ファイルサイズ: 19.9 MB“をダウンロード
4. 解凍します
jreはバイナリファイル(自己解凍)で配布しているので、パーミッションを与えて、ターミナルから
./jre-6u20-linux-i586.bin
のように実行して解凍します。
5. 次に、eclipseフォルダへプラグインを突っ込む
6. 最後にeclipseがプラグインを読み込むように設定して、起動します。
“eclipse”フォルダの中の”eclipse.ini”の最後に、
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
と追記します。
後は起動するだけです。
そういや、”なんちゃら “って意味分かるよね;;
ここでは “Eclipse IDE for C/C++ Developers (79 MB)”をダウンロードします
2. 次に日本語化プロジェクトのプレアデスをダウンロードしてきます
http://mergedoc.sourceforge.jp/
“ダウンロード”の下に、さり気なくある”Pleiades 本体ダウンロード”の安定版1.3.1をダウンロードします(2010/05/22現時点)
3. 最後にEclipceはjavaで動いているのでJVMをダウンロードしてきます。
今回ではjre http://java.com/ja/download/linux_manual.jsp?locale=ja&host=java.com:80
の、”Linux (自己解凍ファイル) ファイルサイズ: 19.9 MB”をダウンロード
4. 解凍します
jreはバイナリファイル(自己解凍)で配布しているので、パーミッションを与えて、ターミナルから”./jre-6u20-linux-i586.bin”
のように実行して解凍します。
5. 最後に、eclipceフォルダへプラグインを突っ込んで起動。
1. 解凍された”jreなんちゃら”フォルダの名前を”jre”へ変更
2. 解凍したeclipceフォルダの中へjrcフォルダごと突っ込みます
3. “preadesなんちゃら”フォルダの”features”の中身を”eclipceフォルの”features”へ突っ込みます
4. 同じく、”preadesなんちゃら”フォルダの”plugins”の中身を”eclipceフォルの”plugins”へ突っ込みます
6. 最後にeclipceがプラグインを読み込むように設定します。
“eclipce”フォルダの中の”eclipse.ini”の最後に、”-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar”と追記します。
後は起動するだけです。
最近アセンブラを弄ってて、気がついたのでメモメモ
アライメントは実行時でなくて、コンパイルで起きるみたい
int sub01(char i, char j)
{
i += j;
return i;
}
void main()
{
char i = 10;
char j = 20;
i = sub01(i, j);
}
8bitのデータも32bitのデータとしてコンパイルされてます。
つまり、32bitコンパイラではcharを使っても意味が無い。?
.file "test.c" .text .globl sub01 .type sub01, @function sub01: pushl %ebp movl %esp, %ebp subl $8, %esp movl 8(%ebp), %edx movl 12(%ebp), %eax movb %dl, -4(%ebp) movb %al, -8(%ebp) movzbl -4(%ebp), %edx movzbl -8(%ebp), %eax leal (%edx,%eax), %eax movb %al, -4(%ebp) movsbl -4(%ebp),%eax leave ret .size sub01, .-sub01 .globl main .type main, @function main: pushl %ebp movl %esp, %ebp subl $24, %esp movb $10, -1(%ebp) movb $20, -2(%ebp) movsbl -2(%ebp),%edx movsbl -1(%ebp),%eax movl %edx, 4(%esp) movl %eax, (%esp) call sub01 movb %al, -1(%ebp) leave ret .size main, .-main .ident "GCC: (Ubuntu 4.4.1-4ubuntu9) 4.4.1" .section .note.GNU-stack,"",@progbits
コンパイラはGCCです。
間違っていたらスイマセンm。。