우분투 14.04에서 숭고한 텍스트 3으로 C 프로그램을 컴파일하고 실행하고 싶습니다. 현재 프로그램은 명령을 실행하는 숭고한 텍스트 3을 사용하여 gcc로 컴파일되고 있지만 (아래 코드 참조) 숭고한 텍스트 콘솔에도 프로그램 실행 출력을 표시 할 수 있는지 궁금합니다.
여기 내가 현재 숭고한 텍스트 3으로 C 프로그램을 컴파일해야하는 것입니다.
c_compile.sublime-build
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
다음 && ./${file_base_name}
과 같이 추가해 보았습니다 .
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}","&&","./${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
하지만이 오류가 발생합니다.
gcc: error: &&: No such file or directory
[Finished in 0.0s with exit code 1]
[cmd: ['gcc', 'Ex1-6.c', '-o', 'Ex1-6', '&&', './Ex1-6']]
[dir: /home/admin/Desktop/C/book/chap1]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
작업중인 간단한 C 프로그램은 다음과 같습니다.
예 1-6.c
#include <stdio.h>
main(){
printf("Hello world");
}
온라인에서 솔루션을 검색했지만 제안 된 답변은 컴파일 만 허용하거나 (이 부분은 이미 저에게 적합합니다) 작동하지 않습니다. 숭고한 텍스트 3 (가능한 경우)에서 컴파일 및 실행하기 위해이 코드를 수정하는 방법에 대한 아이디어. 감사합니다
user2357112가 제안한대로 # 1을 편집합니다.
변경 한 후 shell
에 true
:
{
"cmd" : ["gcc", "$file_name", "-o", "${file_base_name}","&&","./${file_base_name}"],
"selector" : "source.c",
"shell":true,
"working_dir" : "$file_path"
}
그것이 내가 얻는 것입니다.
gcc: fatal error: no input files
compilation terminated.
[Finished in 0.0s with exit code 4]
[cmd: ['gcc', 'Ex1-6.c', '-o', 'Ex1-6', '&&', './Ex1-6']]
[dir: /home/admin/Desktop/C/book/chap1]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
Eugene K가 제안한대로 2 번 편집 :
프로그램을 실행하기 위해 cmd를 변경하려고 시도했습니다.
{
"cmd" : ["./${file_base_name}"],
"selector" : "source.c",
"shell":false,
"working_dir" : "$file_path"
}
성공적으로 실행되고 일부 코드를 사용하여 콘솔에 출력을 인쇄합니다.
Hello world
[Finished in 0.0s with exit code 12]
[cmd: ['./Ex1-6']]
[dir: /home/amir/Desktop/C/book/chap1]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]
지금까지 cmd는 컴파일되거나 실행되지만 둘 다 함께 수행하지는 않습니다. 단일 명령으로 컴파일하고 실행할 수있는 작업을 수행 할 수 있기를 바랍니다.
전체 명령을 단일 문자열로 작성해 보셨습니까?
{
"cmd" : ["gcc $file_name -o ${file_base_name} && ./${file_base_name}"],
"selector" : "source.c",
"shell": true,
"working_dir" : "$file_path"
}
나는 ST3가 첫 번째 인수를 "프로그램"으로 취하고 다른 문자열을 "인수"로 전달한다고 믿습니다 (여기서는 반 추론). https://docs.python.org/2/library/subprocess.html#subprocess.Popen
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다