developerWorks の 進化するアーキテクチャーと新方式の設計: 設計のためのリファクタリング という記事で、コードの重複を検出するツールが紹介されています。 CPD という名前で、Copy/Paste Detector の略だとか。
PMD – Finding copied and pasted code
PMD という静的コード解析ツールの一部として入手できます。
developerWorks の 進化するアーキテクチャーと新方式の設計: 設計のためのリファクタリング という記事で、コードの重複を検出するツールが紹介されています。 CPD という名前で、Copy/Paste Detector の略だとか。
PMD – Finding copied and pasted code
PMD という静的コード解析ツールの一部として入手できます。
OpenCV を触ってみようと思い、今まで避けてきた C 言語を勉強中です。 C++ や Objective-C を触るのにも必要ですからね。
で、まずは基本のキからということで、
#include <stdio.h>
int main(int argc, char** argv) {
if (argc > 1) {
printf("Hello, %s!", argv[1]);
} else {
printf("Hello, World!");
}
}
argc
はコマンドライン引数の個数、argv
はコマンドライン引数の配列です。 コマンドライン引数にはプラグラム名も含まれるため、引数なしの場合でも argc は 1 となります。 また、 argv
の方は char* argv[]
とも書くことができ、引数の文字列へのポインタの配列です。
ポインタについて勉強してみます。
int value = 10;
のとき &value
で変数 value
のメモリ上のアドレスがわかります。
メモリ上のアドレスを格納する変数がポインタです。
int value = 10;
int *ptr;
ptr = &a;
という感じです。
ptr
の指すアドレスにある変数の値をとるには *ptr
と書きます。
printf("*ptr の値は %d です。", *ptr); // *ptr の値は 10 です。