トップ «前の日記(2004-11-27) 最新 次の日記(2004-11-29)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|

2004-11-28

_

0600 起床。

新丸子まで往復。

_ environ

プログラミング言語 C の main() には第 3 引数があったよなあということでメモ。

詳解 UNIX プログラミング pp162 より。

歴史的に、ほとんどの UNIX システムでは main 関数の第 3 引数に環境リストのアドレスを渡す。( 中略 )。ANSI C では main 関数の引数は 2 つであると規定しており、大域変数 environ があるため 3 番目の引数を使う利点はないが、POSIX.1 では( 可能なかぎり )第 3 引数の代わりに environ を使うように規定している。特定の環境変数を参照するには、environ 変数の代わりに getenv と putenv 関数を使う。しかし、環境全体を調べるには environ ポインタを使う必要がある。

大域変数 environ 。

 rin@sakura[~/work/c]% cat -n env.c
      1
      2	#include <stdio.h>
      3	#include <stdlib.h>
      4
      5	extern char** environ;
      6
      7	int main( int ac, char** av )
      8	{
      9	  char** e;
     10	  for( e = environ; *e != NULL; *e++ )
     11	    printf( "%s\n", *e );
     12
     13	  return 0;
     14	}

main の第 3 引数。

 rin@sakura[~/work/c]% cat -n env1.c
      1
      2	#include <stdio.h>
      3	#include <stdlib.h>
      4
      5	int main( int ac, char** av, char** environ )
      6	{
      7	  char** e;
      8	  for( e = environ; *e != NULL; *e++ )
      9	    printf( "%s\n", *e );
     10
     11	  return 0;
     12	}

やってることは env(1) と同じ。

 rin@sakura[~/work/c]% diff `./a.out | sort` `env | sort`
 diff: rin@sakura[~/work/c]%

参考

4894713195

_ 買物

amazon 。

4063211657

_ 昼寝

1500 〜 2200 。

_ ん〜

ここのところ毎週々末に 6, 7 時間の昼寝があるな。

なんだかんだで疲れてるのか。

なんとかしないと。