[C++ 언어-기초실습-23] system()+cmd 명령으로 C 실행파일 만들기

3년 전

[C++ 언어-기초실습-23] system()+cmd 명령으로 C 실행파일 만들기



어제는 파일을 생성하고 그곳에 문자열을 기록했습니다. 오늘은 이 원리를 이용하여 c파일을 생성하고 그곳에 코딩을 기록하여 자동으로 c 코딩 파일을 컴파일 시켜 실행 파일을 만들어보고 그 실행파일을 자동으로 실행 시키는 과정을 설명하겠습니다.

1. c파일 생성


system("echo #include ^<stdio.h^> > a.cpp");
system("echo #include ^<conio.h^> >> a.cpp");
system("echo int main(int argc, char** argv) { >> a.cpp");
system("echo printf(\"hello World! \"); >> a.cpp");
system("echo getch();} >> a.cpp");

a.cpp 파일에 c 코딩을 기록했습니다. 여기까지는 지난 시간의 다룬 txt 파일을 만드는 과정과 동일 합니다. 하지만 몇가지 주의 할 표현이 있습니다.

<, >, " 등의 기호는 주의를 해야 합니다.

<   :  ^<
" : \"

이렇게 기호 앞에 해당 기호를 사용해야 오류 없이 기록 할 수 있습니다.

2. C 컴파일러 환경변수 선언


C 컴파일러를 이용하여 cpp 파일을 exe 파일로 만들기 위해서는 해당 컴파일러를 콘솔창에서 아무 경로 위치에서도 쉽게 사용할 수 있게 세팅 되어야 합니다. 매번 해당 경로를 바꾸어 C코딩을 할 필요가 없지요.
aa.jpg

C 컴파일 경로를 우선 복사 해 놓고 나서 path에 등록 해야 합니다. 전 DEV C++ 에디터라서 위 그림처럼 했지만 여러분들은 C언어를 사용한 환경을 기준으로 세팅하면 됩니다. 설치한 C 에디터 폴더에 가셔서 bin이라는 폴더 주소까지 path 안에 넣어 주시면 됩니다.

3. 실습

---[
[전체소스]

C:\Program Files (x86)\Dev-Cpp\MinGW64\bin

#include <iostream>
#include <stdlib.h>

using namespace std;


int main(int argc, char** argv) {

    system("echo #include ^<stdio.h^> > a.cpp");
    system("echo #include ^<conio.h^> >> a.cpp");
    system("echo int main(int argc, char** argv) { >> a.cpp");
    system("echo printf(\"hello World! \"); >> a.cpp");
    system("echo getch();} >> a.cpp");
    
    //system("gcc -o 경로+실행파일명 경로+cpp파일명");
    system("gcc -o test.exe a.cpp");
    

    system("test.exe");
    
    
    return 0;
}

a1.jpg

[결과]
a2.jpg
a3.jpg

마무리


좀 복잡하게 전개 되긴 했지만 정상적으로 C언어 코딩을 하고 자동으로 컴파일하여 exe 파일을 만들어 보았습니다. 마무리는 자동으로 만들 실행 파일을 실행 시켜 보았습니다.


Sponsored ( Powered by dclick )

dclick-imagead

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
STEEMKR.COM IS SPONSORED BY
ADVERTISEMENT
Sort Order:  trending

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

·

Thank you