달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'static'에 해당되는 글 2건

  1. 2010.04.27 git staic build
  2. 2007.05.16 static 통한 접근 제한

git staic build

Tool/git 2010. 4. 27. 00:25
웹 호스팅 서비스를 통해서 개인 블로그를 사용하고 있는데,
여기에 개인용 git repository 를 두고 싶어졌다.

그런데 ssh로 접속해서 확인하니 git binary가 설치되어 있지 않았다.
그래서 아래와 같이 git binary를 직접 build 해서 이용하게 되었다.
이때 git binary에서 zlib과 pthread를 shared library로 이용하고 있어서,
관련 static library가 system에 설치되어 있어야 한다.

git binary를 위해 아래와 같이 소스를 다운로드 했다.
$ apt-get source git-core

그리고 Makefile을 열어 아래와 같이 ALL_LDFLAGS에 -static 옵션을 추가했다.
ALL_LDFLAGS = $(LDFLAGS) -static

다음과 같이 build 하고 build 디렉토리에 설치했다.
$ mkdir build
$ ./configure --prefix=/usr
$ make
$ make install DESTDIR=`pwd`/build

제대로 -static 하게 build 되었는지는 ldd git 와 같이 해서 확인할 수 있었다.
그리고 build/usr/bin 안의 git binary 들을 웹 호스팅 서버에 업로드하였다.

'Tool > git' 카테고리의 다른 글

git 알면 편한 기능  (0) 2010.11.13
git reference  (0) 2010.07.05
git init --bare 이용  (1) 2010.04.23
git init --bare 발단  (0) 2010.04.23
qgit  (0) 2010.04.20
Posted by neodelicious
|

흔히 함수 내의 static 키워드는 함수 내에 선언된 변수에 대해서
해당 함수가 종료되어도 다시 함수가 실행되었을 때 그 값을 유지하도록 하기 위해서 사용한다.
참고적으로 이를 통해 해당 함수가 몇 번 호출되었는지 알 수 있다.

하지만 여기서 말하고자 하는 것은 함수 밖에 선언되어
외부 변수 혹은 전역 변수로 불리는 변수에 static이 적용된 경우이다.
이 경우 일반 전역 변수처럼 초기화를 하지 않아도 '0'으로 초기화 되며,
모든 함수에서 접근이 가능하다.

하지만 이때 접근 가능한 영역은 일반 전역 변수와 달리 해당 파일 안으로 제한된다.
참고적으로 다른 파일에 선언된 일반 전역 변수는 extern 키워드를 통해서 접근 가능하다.

이제 본론(?)이다.
이러한 static을 함수에도 적용할 수 있다.
함수 앞에 static 키워드를 붙이면 특정 파일에서만 사용하는 함수를 만들 수 있다.
static void _init();
위와 같은 형식이다.
선언과 정의에 모두 static을 붙여 놓고 이용하면 다른 파일에서는 접근 할 수 없다.
이를 이용하면 다른 파일에 같은 이름의 함수가 있더라도
해당 파일에서만 이용하는 특정 함수를 만들 수 있다.
추가적으로 내부적으로만 이용하는 함수의 이름에는 주로 앞에 '_'를 붙인다.

참고적으로 wiki에 있는 static 내용이다.
OOP 쪽의 개념도 설명해서 위의 내용과는 좀 다른 느낌이다.
http://en.wikipedia.org/wiki/Static_variable

'Lang, Tool, Env' 카테고리의 다른 글

CRC를 통한 error 검출  (0) 2007.05.16
do while(0) 을 이용한 goto 대체  (0) 2007.05.16
CONTAINING _RECORD macro  (0) 2007.04.26
크기 미지정 배열의 새로운 고찰  (0) 2007.04.19
Verify()  (0) 2007.04.14
Posted by neodelicious
|