본문 바로가기
Program/Linux C

[VC++에서 리눅스 C로 전향하기]VC++과 Linux C의 차이점 - lhs9842

by lhs9842 2013. 4. 14.
반응형

안녕하세요 lhs9842입니다.

제 첫강의는 정말 간단하게 가보려고 합니다.

이번에는 VC++(Visual C++)과 Linux C의 차이점을 알려드리겠습니다.

아래 표가 차이점인데요

구 분

Visual C++

G++[각주:1]

비고

main

void main() {

… 할일들 …

 

}

int main() {

… 할일들 …

return 0;

}

int main() 형태로 사용하는 것이 표준프로그램이 종료될 때 무사히 종료되었다는 뜻으로 0return

variable scope

for(int i = 0; i < 10; i++)

printf("%d ", i );

printf("%d ", i );

int i;

for(i = 0; i < 10; i++)

printf("%d ", i );

for문 안에서만 사용하도록 정의된 변수 i for문 밖에서도 사용 가능한 것은 VC++의 버그

64bit integer

__int64 big_num = 10000000;

big_num *= big_num;

printf("%I64d", big_num);

long long big_num = 10000000;

big_num *= big_num;

printf("%lld", big_num);

21억 이상의 값을 변수에 넣을 때, 기존에는 __int64 형을 사용했으나 바뀐 환경에서는 long long 형을 사용해야 함

itoa

int a = 10;

char str[10];

itoa(a, str, 10);

int a = 10;

char str[10];

sprintf(str, "%d", a);

itoa는 표준에 정의되어 있지 않은 함수로, VC++에서만 제공되는 함수

변수는 선언한 곳 안에서만 사용

평소에 C/C++ 표준을 지켜 코딩하는 버릇을 들였다면 크게 차이가 없고, 그렇지 않더라도 언급된 네 가지 정도만 주의하면 별도의 적응 시간 없이 변경 가능

출처는 https://www.digitalculture.or.kr:446/sub07/showInfoMediaDetail.do?article_id=BBS_0000000002373 입니다.

아마 이게 전부는 아니겠지만 그래도 많이 쓰는건 이정도라고 생각합니다.





   


아래의 손가락버튼을 눌러주시면 블로그에 큰 힘이 됩니다.







  1. Linux C [본문으로]
반응형
크리에이티브 커먼즈 라이선스
lhs9842 필자가 게시한 대부분의 블로그 게시물은 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다. 게시물에 CCL이 적용되지 아니하다고 적혀있는 경우엔 본 라이선스 적용 대상이 아닙니다.

댓글