yuu_nkjm blog


2012-02-11(Sat) [長年日記] 編集

[Linux] 英語版キーボードのキーレイアウト

レスキューモードなどで起動すると,キーマップが英語のものになってしまうことがある.ダブルクォーテーション出したいのに,@が出るのはよくあること.


2012-02-10(Fri) [長年日記] 編集

[Programming][Java][C/C++] 値渡しと参照渡し,参照とポインタ,直接参照と間接参照

値渡しと参照渡し,参照とポインタ

値渡しと参照渡し (と参照の値渡し) - 予定は未定Blog版が分かりやすかった.

関連ページ

参照とポインタ,直接参照と間接参照

Javaの参照の値渡しと参照渡し

Javaでは「参照の値渡し」と「参照渡し」を混同しやすい.下記の1番上のページが参考になると思う.

以下,草稿.

#include 
 
void changeValueCallbyRef(int& val) {
  // 実引数として与えられた変数をそのまま操作できるイメージ.
  // valはaそのもの.エイリアスとも呼ばれる.
 
  printf("val=%d, pointer of val=%d\n",val,&val);
  val = 999;
}
 
void changeValuePointer0(int* val){
  // 変数valが作成され,aへのポインタが格納される.
  printf("val=%d, pointer of val=%d\n",val,&val);
 
  // 「ポインタ変数」valに代入しても,aに影響はない
  int b = 111;
  val = &b;
}
 
void changeValuePointer1(int* val){
  //「ポインタ変数」の参照先に値を格納する.
  *val = 555;
  //Javaだと,参照先の値そのものを変更することはできない.
  //Javaでは, 参照先の値やオブジェクトにアクセスすることができる.
  //ここの例で行くと,Javaでは,*valにアクセスはできるが,
  //*valに代入することはできないイメージ.
}
 
int main(void){
  int a = 10;
  int* a_p = &a;
  printf("a=%d, pointer of a=%d\n",a,&a);
  printf("a_p=%d, pointer of a_p=%d\n",a_p,&a_p);
 
  changeValueCallbyRef(a);
  printf("a=%d, pointer of a=%d\n",a,&a);
 
  changeValuePointer0(&a);
  printf("a=%d, pointer of a=%d\n",a,&a);
 
  changeValuePointer1(&a);
  printf("a=%d, pointer of a=%d\n",a,&a);
}

2012-02-09(Thu) [長年日記] 編集

[openSUSE][Linux] ソースやRPMインストールしたアプリケーションの管理

パッケージ管理はパッケージ管理システムに任せきりたいと思っているので,openSUSE上では原則yastを使ってインストールをしている.(ちなみに,設定もできるだけyast中心でやっている.)しかし,インストールしたいrpmがどのレポジトリにもないということもある.そういう時は,自前でソースをビルドしてインストールしないといけない.しかし,インストールをすることで,他モジュールが使用するライブラリを書きかえてしまったり,アンインストールができなくなったりするのは困る.

ちょっと調べてみたところ,paco - a source code pacKAGE oRGANIZER for Unix/LinuxStow - GNU Project - Free Software Foundationが良さそう.前者はちょっと使ったことあったけど,ソースからのビルドってそんなにやることじゃないから,あんま分からん.

rpmから入れる時はrpmコマンドを叩くのではなく,yastコマンドでインストールした方が良さそう.GUIだとrpmをダブルクリックするとYaSTが立ち上がる様だ.コマンドラインの場合は,以下のコマンドでOK.

yast2 -i /path_to_rpm_file/filename.rpm.

関連ページ


トップ 最新 追記 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|