파라미터 전달 순서 왼쪽 -> 오른쪽 파라미터 순서대로

Integer & Pointer ->  rdi, rsi, rdx, rcx, r8, r9

floating-point(float, double) -> xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7



파라미터는 오른쪽부터 왼쪽 순으로 스택에 push 되고 함수 호출 후 caller(호출자)에 의해 정리 되어야 한다. 


함수가 호출되어지면 return address는 rsp에 위치하고 첫번째 파라미터는 rsp+8로 참조된다 


스택포인터 rsp는 16바이트 단위로 정렬 되어야 하지만

서브루틴 호출의 리턴 어드레스는 8byte만 push 하기 때문에

16바이트 경계를 맞춰주기 위해 rsp에서 8바이트를 더하거나 빼야 한다.


서브루틴이 보존해야 하는 레지스터는 

rbp, rbx, r12, r13, r14, r15 이며,  나머지 모든 레지스터는 자유롭게 서브루틴에서 변경 할 수 있다.

Posted by $Zero
:

64bit 오라클 클라이언트 ODBC 설치시 MFC빌드 또한 64bit로 해야한다. 


32bit ODBC등록과 64bit ODBC등록은 나뉘어져 있으며 


32bit ODBC등록은 syswow64폴더에서 따로 해야한다.

Posted by $Zero
:

메이븐 버전 : 3.3.3

센토스 버전 : 7


먼저, 메이븐 3.3.3 버전을 사용하려면 JDK 1.7 이상의 버전이 설치되어 있어야 한다. 


CentOS 에서 jdk 설치하기. 


yum list | grep jdk 


설치가능한 jdk 패키지의 목록.




원하는 버전 설치.

yum -y install java-1.8.0-openjdk-devel.x86_64



메이븐 다운로드 페이지 : https://maven.apache.org/download.cgi#

Binary 아카이브 파일 아무거나 받으면 된다 (zip , tar.gz) 


압축을 풀고나면 bin폴더에 메이븐의 실행파일 mvn이 들어있다. 


먼저 mvn을 실행하기 위한 환경변수를 설정하자. 


JAVA_HOME, PATH 설정




(자바의 설치 위치는 which 명령과 ls -l 명령으로 링크를 계속 따라가 찾을 수 있다.)


홈 폴더의 .bashrc 파일에서 환경변수를 추가 해준 뒤 


source ~/.bashrc 로 현재 SHELL에도 적용시킨다.







 

Posted by $Zero
: