본문 바로가기
코스웨어/16년 스마트컨트롤러

20160331_장진웅_업무일지_로봇제어_터미널

by 알 수 없는 사용자 2016. 3. 31.
728x90
반응형

지역변수의 할당과 소멸(224page)


if와 main 내 지역변수 주소 출력(228page)


DOS창에서 지정했던 명령인 cl main.c /link DYNAMICBASE:NO 와 같은 역할.

ASLR : Address Space Layout Randomization

프로그램 실행 시 주소 할당을 무작위로 배치시켜 

실행 할 때 마다 프로그램 내부에서 사용하는 주소를 

다르게 만드는 메모리 보호기법의 일종.

특정 주소를 공략하는 해킹/크래킹 같은 프로그램을 무력화할 수 있는 기법 중의 하나.

최근 컴파일러, 라이브러리, 운영체제 레벨에서 비슷한 기법을 거의 다 동원하고 있는 추세.

Visual Studio도 컴파일러 차원에서 이를 도입하고 있으며 관련한 해제 방법은 아래 링크를 참조.

http://wowcat.tistory.com/2073

gcc의 경우는 커널 차원에서 On/Off가 가능.

Root 권한에서 아래를 수행

sysctl -w kernel.randomize_va_space=0

이후 출력 되는 메시지

kernel.randomize_va_space = 0

0 대신 1을 넣으면 활성화


로봇제어에 대해 배울 터미널 pdf

 터미널.pdf


리눅스나 유닉스나 장치를 파일로 인식한다. root의 /dev 디렉토리 안에 있다.

tty teletypewriter의 약자이다.



C는 장치를 의미한다.

리눅스에서 장치는 C와 B로 나눈다.

C는 Character device 1바이트 짜리 

B는 Block device

L은 바로가기를 뜻한다. 링크이다. /dev에서는 symbolic link

하드링크와 심볼릭링크의 차이점은 하드링크는 지우면 같이 지워지고 심볼릭링크는 지워도 원본은 지워지지 않는다.


리눅스는 termios를 포함하고

유닉스는 termio로 s를 빼고 포함한다.


<vi 에디터에서 단어 찾기>

/samba라고 치면 해당 samba라는 단를 찾아준다.

n 은 다음 단어로 이동한다.

shift+n 은 이전 단어로 이동한다.

:noh는 해당 단어들에 표시된 색을 지워준다.



728x90