Linux2010. 6. 3. 17:24
임베디드에서 플래시에 내장된 프로그램을 전체 교체 하는건(예를들어 Root File System) 꽤나 부담이 되는 작업이다.
리눅스 기반에서, 환경변수를 하나 변경하기 위해 RootFS를 변경할바 에는
프로그램에서 내부적으로 환경변수를 변경하면 될터인즉!
검색을 하다보니 putenv() 라는 함수가 나왔다. 아마도 99% 확률로 리눅스 전용일듯

예제결과를 보면 bash 기준 export VAR 식으로 하여 전역변수로 추가하는 것으로 보인다.
예제결과를 보면 전역은 아니고 지역변수(프로세스 기준 지역변수)로 선언되는 것으로 보인다.

#include
#include

extern char **environ;  // 외부 참조 변수로 선언

int main()
{
   putenv( "QTDIR=/form/falinux/com");
   putenv( "NEWVALLUE=form.falinux.com");
  
   while( *environ)
      printf( "%sn", *environ++);
     
   return 0;
}

[링크 : http://forum.falinux.com/zbxe/?document_srl=408394]
[링크 : http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/3/putenv]
[링크 : http://linux.die.net/man/3/putenv]

'Linux' 카테고리의 다른 글

gcc 프로파일링 / 디버깅 정보별 어셈블리 차이 - gcc profiling / debug info  (0) 2010.06.15
ulimit (1/3)  (0) 2010.06.03
putenv (3)  (2) 2010.06.03
복수개의 파일을 strip 시키기  (0) 2010.06.01
libm (math library)  (0) 2010.05.30
sti() cli()는 모하는 넘이야?  (2) 2010.05.29
Posted by 구차니

댓글을 달아 주세요

  1. 음... putenv / getenv를 이용하면 프로그램 구동하는 동안 프로그램의 상태를 임시 저장하는 용도로 활용이 가능할지도 모르겠네요

    2010.06.03 17:35 [ ADDR : EDIT/ DEL : REPLY ]
    • 방금 플래시에 저장해서 해보니 이상없이 작동하네요
      아무튼 falinux 쪽 문서를 확인해보세요 ^^

      2010.06.03 17:53 신고 [ ADDR : EDIT/ DEL ]