728x90

 

2014.03.06 수업.docx

 

2014.03.06 수업 및 과제 


1. printf("Hello World \n");

    1.1  printf("Hello World \n");

int printf("Hello World \n");  int 가 생략되어 있음 -> printf 함수

printf 함수 기본형: printf(" "); " " 안의 글자를 출력

\n -> enter 명령

도스: 기본적으로 \n 가 포함되어 있음

Hello World

한칸

두칸

_  여기에 위치

리눅스: \n이 없으면 문장이 끝이 안남

1.2 \n의 의미: 라인 피드(줄 바꿈) + 캐리지 리턴(커서가 맨 앞으로 감) 이 동시에 실행 

1.2.1 리눅스에서 \n의 실행 확인

a. zterm 실행해서 vi main.c 실행 "\n" 를 뺀 Printf()함수 예제를 작성함

 #include <stdio.h>
    int main()
    {
         printf("Hello ");
         return 0;
     }

 

b. 작성한 파일이 저장되어 있는 서버(ftp://192.168.10.100/%B8%AE%B4%AA%BD%BA%B0%F8%C0%AF%C6%FA%B4%F5/ljweng/20140306/)에서 파일을 내 PC복사

 

c. 메모장 에서 main.c 파일 열기

 

d. zterm 에서 실행 결과 확인

컴파일 : gcc -o main main.c

실행 명령어 : ./main 

 

1.3 리눅스에서 아래 두개의 명령이 같은 의미

gcc -o main main.c
cc -o main main.c
gcc version 확인 방법
gcc --version
cc --version
☞실행 화면

       

1.4 도스 실행 창에서 컴파일 실행하기

     컴파일 및 명령어: cl main2.c

    

 

1.5 리눅스 ztem에서 컴파일 및 실행 하기 

컴파일 명령어: gcc -o main2 main2.c

실행 명령어: ./main2

 주의 : ./ 리눅스에서  현재 디렉토리가 찾지 못할 경우도 있으므로

           현재의 디렉토리 ./를 항상 습관화 해야 함

    

 

2. 주석 처리 방법(윤성우의 열혈 C프로그램)

2.1 방법1 /* ---------*/

     방법2 //

 간단한 처리

 

3. 진법

 2진법(Binery), 8진법(Octal), 10진법(Decimal), 16진법(heXadecimal)

 

4. printf 함수의 기본적인 이해(page43)

4.1 %d\n 함수의 사용 > 1234 정수 출력

 

 

4.2 %x\n 함수의 사용 > 소문자(x)16진수 출력

 

4.3 %X\n 함수의 사용 > 문자(X)16진수 출력 

 

 

4.4 [%D]\n 함수의 사용 > [ ]중 괄호 출력 

  

 

5. 블러그 Tip

     5.1 실행 프로그램: Source2Html.exe 실행

     5.2 메모장 바탕 에서 단축키(ctrl + a) 전체 선택 후 아래 화면에 붙여넣기(ctrl + v) 

     

5.3 c/c++ 체크 후 HTML로 변환 클릭 -> 아래 화면

5.4 위 창에서 전체 드레그 후 붙여 Tistory 블러그레 붙여 넣기 > 아래 화면 출력

#include <stdio.h> 
int main()
{
  printf("Hello Everybody\n");
  printf("[%d]\n"1234);
  printf("[%d] [%d]\n"1020);
  return 0;
} 

6. 변수(메모리 할당) page51

_ 변수의 이름: 알파벳, 숫자, 언더바(_)로 구성

_ C언어는 대소문자를 구분

_ 변수의 이름은 숫자로 시작할 수 없고, 키워드도 변수의 이름으로 사용할 수 없다.

_ 이름 사이에 공백(X), 특수문자(X) > 사용할 수 없음.

 

int number;     > 변수선언 int : 정수(4byte)

number=3+4;    > = : 대입연산자(3+4) number 변수에 넣음   

 

 

예제)

#include <stdio.h> 
int main()
{
  int number1;
  int number2;
  number1=3;
  number2=4;

  printf("number1=[%d]\n", number1);
  printf("number2=[%d]\n\n", number2);
  
  number1=number2;
  
  printf("number1=[%d]\n", number1);
  printf("number2=[%d]\n", number2);
  
  return 0;
}

☞실행 화면 

 

 

 

'…™업무일지。' 카테고리의 다른 글

[smart]이재우-20140307  (0) 2014.03.07
[smart]이재우-20140306(2)  (0) 2014.03.06
[smart]이재우-20140305  (0) 2014.03.05
[smart]이재우-20140304  (0) 2014.03.04
[smart]이재우-20140303  (0) 2014.03.03
728x90

 

2014.03.05 수업.docx

 2014.03.05 수업 및 과제 

1. 컴파일 과정

visual c++ like.c 파일을 컴파일 하는 과정

like.c - (전처리기) - like.i (전처리 결과) - (컴파일) - like.asm(어셈블리파일) - 어셈블리 -> like.obj( 오브젝트[기계어] 파일 ) - 링크 - like.exe(실행 파일[기계어])

 - main.i 생성 명령 : cl /P main.c

 - main.asm 생성 명령 : cl /Fa main.c   

 2. Microsoft Visual Studio 실행 창에서 줄 번호 보기 설정

  

 3. Microsoft Visuall Studio 실행 후 main.i main.asm main.obj main.bin 파일 보기

   아래 그림 적색 화면에 main.i main.asm main.bin main.bin main.c 

   main.bin 파일은 main.exe 파일 확장자 .exe를 bin으로 바꾼다. 확장자기 exe 이면 바로 실행 하기 때문에

   확장자 .bin으로 변경 

 

  

 

  윈도우 단축키

 

    윈도우키 + r > 실행 > 에러시 Run.time.error 라 함

 

4. zterm

gcc 명령어로 main.i main.asm main.bin main.bin 파일 생성 하기

gcc --save-temps -o main main.c

main.i main.o main.s 파일 생성

 

5. 실행기준

<windows> 확장자를 보고 파일를 예)판단이름.exe

<unix 계열> 파일을 직접 판단하지 않음  

리눅스 파일 권한 설명 

 -rwx------  27  root  root  4096  3월  5  11:33  ../ 

 -

 rwx

 ---

 ---

 27

root 

 root  4096

 3월

 5  11:33 ../ 

 -일반파일

 d디렉토리

소유주

권한

그룹 권한

 기타 권한

 

소유자

계정

그룹

계정

파일

크기

 날짜

 시간

 디렉토리

/파일

 

r(읽기)

w(쓰기)

x(실행)

권한있음

-(읽기

권한없음)

-(쓰기

권한없음)

-(실행

권한없음)

-(읽기

권한없음)

-(쓰기

권한없음)

-(실행

권한없음)

 

 

 

 

 

 

 

 

  

 

6. main.c 기본형 설명

 

<그림1>

 

6.1 main.i 파일 내용 앞줄 0~ 5000(stdio.h 파일)까지 내용    

     ->그 뒤는 위의 <그림1> 파일 내용이 나옴

 

6.2 windows #include <stdio.h> 설명

     #의 의미: 전처리 영역

     <stdio.h>파일 경로-> C:\Program Files\Microsoft Visual Studio 10.0\VC\include\stdio.h

     windows 환경변수 내용 보기-> 시작/실행/cmd 도스 창에서 set 명령

 

 

    리눅스 #include <stdio.h> 설명

     <stdio.h>파일 경로-> usr/incldue/stdio.h

     리눅스 환경변수 내용 보기-> zterm_14 실행/도스 창에서 set 명령

 

 

6.3  int main(void) -> int:결과  void:조건 main:함수 이름 ->함수(function):진입 점(entry_point)

int ->정수(integer)

main -> 중요한

void ->없다/회피하다 (생략 있는 것으로 간주)

 

 

6.4  { ->시작

printf("Hello World \n");

return 0;  return:실행하기 전의 상태로 돌아감 0:문제가 없는 정수(0) 반환 값   

} -> 끝

 

      ※참고 ; -> 명령어 한문장 종료

 

6.5  printf("Hello World \n");

int printf("Hello World \n")int 가 생략되어 있음 -> printf 함수

printf 함수 기본형: printf(" "); " " 안의 글자를 출력

\n -> enter 명령

도스: 기본적으로 \n 가 포함되어 있음

        Hello World

  한칸

  두칸

  _  여기에 위치

리눅스: \n이 없으면 문장이 끝이 안남

 

\n의 의미: 라인 피드(줄 바꿈) + 캐리지 리턴(커서가 맨 앞으로 감) 이 동시에 실행 

 

리눅스에서 아래 두개의 명령이 같은 의미이다

gcc -o main main.c

cc -o main main.c

gcc version 확인 방법  

      gcc --version

cc --version

 

 

      ※참고 ; -> 명령어 한문장 종료

 

'…™업무일지。' 카테고리의 다른 글

[smart]이재우-20140306(2)  (0) 2014.03.06
[smart]이재우-20140306(1)  (1) 2014.03.06
[smart]이재우-20140304  (0) 2014.03.04
[smart]이재우-20140303  (0) 2014.03.03
[업무일지]20140228_리눅스 명령어 및 c 프로그램  (0) 2014.03.03
728x90

 

2014.03.04 수업.docx

2014.03.04 수업 및 과제  


1. creating symbolic link

    zterm 에서 해당 폴더 바로가기 만들기(/mnt/hgfs/One/ljweng )

a. 가상의 방 만들기

ln -s 실제저장경로 가상의방이름

예)ln -s /mnt/hgfs/One/ljweng cwork

b. 바로 가기 명령어 

cd cwork 엔터 하면

실제 폴더는 home/ljweng/cwork 폴더 이지만 이 폴더의 내용이 /mnt/hgfs/One/ljweng 폴더로이동

 

2. compiler

visual stdio 2010(window)

gcc                  (linuxier) g:gnu c:c 언어 c:compiler

 

3. 컴파일 과정

visual c++가 like.c 파일을 컴파일하는 과정
like.c - (전처리기) - like.i (전처리 결과) - (컴파일) - like.asm(어셈블리파일) - 어셈블리 -> like.obj( 오브젝트[기계어] 파일 ) - 링크 - like.exe(실행 파일[기계어])

      - main.i 생성 명령 : cl /P main.c

      - main.asm 생성 명령 : cl /Fa main.c

   

4. gcc가 like.c 파일을 컴파일하는 과정

like.c - (cpp0전처리기 ) - like.i ( 전처리 결과 ) - cc1( c컴파일러) - like.S(어셈블리파일) - as 컴파일러 -> like.o( 오브젝트 파일 ) - ld or collect2 링크 - like 실행 파일

 

5. 바탕화면 도스 창(C:\Documents and Settings\Administrator\바탕 화면)에서 VB 2010 컴파일 및 실행하기

    C:\Documents and Settings\Administrator\바탕 화면>cl main.c

   cl /? --> cl 명령어 도움말 정보

 


 

▶ 윈도우 단축키

윈도우키 + e > 윈도우 탐색기

윈도우키 + Break > 시스템 등록정보

마우스 오른쪽 > 명령 창 열기 > C:\Documents and Settings\Administrator\바탕 화면>도스창

 

바탕화면 도스 창에서 VB 실행파일 cl 파일 찿기

윈도우 키 + e > 윈도우 탐색기 > C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

 

윈도우 키 + break > 시스템 등록 정보 > 고급정보

환경변수(N) 클릭

 <원본>

C:\Documents and Settings\Administrator\Local Settings\Application Data\Bandizip\7z

<변수값 수정1>

C:\Documents and Settings\Administrator\Local Settings\Application Data\Bandizip\7z;C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

추가후 확인  도스 실행 화면 재 실행

C:\Documents and Settings\Administrator\바탕화면>cl main.c 실행

 

 

 

mspdb100.dll 에러 해결   

 mspdb100.dll  파일 찿기

 시스템 등록 정보>시스템 환경변수 창 열기

시스템 등록 정보>시스템 환경변수 수정

<변수값>

C:\Documents and Settings\Administrator\Local Settings\Application Data\Bandizip\7z;C:\Program Files\Microsoft Visual Studio 10.0\VC\bin;C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE

 

 

libcmt.lib 에러 해결   

1 시스템 등록 정보>시스템 환경변수 창 열기

2 새로 만들기 > 새 사용자 변수

  변수 이름 > LIB

  변수 값 > C:\Program Files\Microsoft Visual Studio 10.0\VC\lib

 

 

 

[stdio.h 에러 해결]

1 새로 만들기 > 새 사용자 변수

변수 이름 > INCLUDE

변수 값 > C:\Program Files\Microsoft Visual Studio 10.0\VC\include 

 

[Kernel32.Lib 에러 해결]
1 시스템 등록 정보>시스템 환경변수 창 열기

2 고급 > 편집 > 사용자 변수 편집

  변수 이름 > LIB

  변수 값 > C:\Program Files\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib