C
Using R — Packaging a C library in 15 minutes Linking static library into R,static library use for R extension Static library 基本的には 動くCライブラリをローカルにとってきて、それのstatic libraryをコンパイルして作り、それをRのパッケージの…
最小構成(C):解説文 C,C++,Fortran useDynLib()とかNamespaceとか→こちら
C++をRで使うとはどういうことか、というと… C++(Cも)として動いている何かがある それをRから使える動的ライブラリにして、 それをRから呼び出せるようにRに接続して、 Rから呼び出す関数を作り そして使う という段階を踏む 「C++(Cも)として動いている何…
こちらから 関連よみものページ(こちら)
構造体を使ってみる 値列の要素数・平均・標本分散・不偏分散を持つ構造体を作ってみる ヘッダファイルで構造体の作りを宣言("DescriptionStat.h"というファイル) // DescriptionStat.h struct DescStat { int n; //number of values double m; //mean doubl…
変数の扱い 当該関数内での使い捨て:ローカル コンパイルして一塊になっている全体で共通:グローバル 同じ変数名で使いまわせるが、関数処理が終わっても(オブジェクトの持ち物のように)継続して持たせられるもの(?) 参考1 参考2
どんな関数が定義されているかを宣言するプロトタイプ宣言:hoge.h 宣言した関数の処理が書かれているファイル:hoge.c hoge.hに宣言されていてhoge.cに書かれている関数を使う別のソースファイル:my.cでは、hoge.hに宣言されている関数を使います、と冒頭で…
こちらにポインタを使って2つの値を返している例がある 拝借する #include <stdio.h> void foo(int i, int *m, int *d); void foo(int i, int *m, int *d) { *m = i%10; *d = i/10; } main() { int i,j; foo(123,&i,&j); printf("%d , %d\n",i,j); } 結果 ryamada@CF</stdio.h>…
関数の作成としてこちらでは暦を扱っている。 includeの使い方(こちら)と、関数の定義とそれを使ったmain()関数を作る、ということのようなので、メルセンヌ・ツイスターの一様乱数を使った逆変換法による指数乱数発生をやってみる(こちら) includeではstdio…
#include <stdio.h> main () { int a[5] = {1,2,3,4,5}; int *p; int i; p = a; //配列の先頭ポインタを取得 p = &a[0]の省略形 for (i = 0; i < 5; i++) { printf("%d\n",*(p+i)); printf("%d\n",p+i*5/2); } } ポインタを使って、ポインタが指しているaの中身を表示</stdio.h>…
配列の要素数のオーバーフロー(参考) ちゃんと割り付けしていないのに、回ってしまうこと。場合によってはメモリの使い訳がコントロールされていない状態(結果がむちゃくちゃ)になるらしい #include <stdio.h> int main() { int test1[5] = {1,2,3,4,5}; test1[10] = </stdio.h>…
こちらの続き こちらをなぞる unsigned という型のコントロール法があるらしい。下の例ではうまくいっていないようだが… コメントをいただき、"printf("%u\n",num);"とすると負でなくなりました #include <stdio.h> main () { int counter =1; unsigned int num; num </stdio.h>…
職場の友人がCをゼロから勉強する、というので、一緒に覚えることにしました。 まず、環境整備。職場でも家でも移動中でも勉強したいときにできるのが良いので、Cygwin上でやることにしました。 Cygwinを入れる:こちら(代数統計アプリsingularを入れるとき…