안녕하세요 리눅스에서C 이용해서 그림파일이나 html을 실행하는 방법에 대해서 알고싶습니다. 리눅스 명령어로 xdg open 등등이 있겠지만 C코드 내에서 경우에 따라서 다른 파일을 실행시키고 싶어서 가능하면 방법을 알고싶습니다 exec함수들은 실행파일에만 사용가능한걸로 알고있는데 exec를 이용해서 그림파일등을 실행하는 방법을 아시는분계시면 조금 구체적으로 설명해주시면 감사하겠습니다.
전부 직접 만드시기를 원하시는 건가요? 대개의 경우 이런 걸 독자적으로 직접 구현하겠다는 시도는 별로 좋은 생각이 아닐 뿐더러 사용자 입장에서도 괜히 불편하기만 하겠지만, 뭐 꼭 하고 싶으시다면 어쩔 수 없죠.
1. 주어진 파일이 어떤 종류의 파일인지 파악해야지요.
windows에서처럼 파일 이름 뒤의 확장자만 보고 판단할 수도 있고, 뭐 유닉스에는 file 명령어가 있으니까 위임하면 되겠습니다. 그것까지 직접 하고 싶으시면, 각 파일 종류별로 헤더 구조를 조사해서 감지 코드를 작성하시면 되겠지요.
file
2. 주어진 파일 종류에 대응되는 프로그램을 찾아야 합니다.
이 부분은 어쩔 수 없이 각 파일 종류들에 대한 프로그램들을 모두 어딘가에 저장해 놓는 수밖에 없어요. windows explorer에서는 이 정보를 레지스트리에 저장하던가요. 아마 xdp-open도 비슷한 방법으로 구현하고 있겠죠.
제대로 만들려면 이 부분은 customize를 지원해야 합니다. emacs 사용자인데 *.c 파일을 열 때 vim으로 열어 주면 화내겠죠. 반대도 마찬가지...
3. 해당 프로그램이 주어진 파일을 열도록 실행하는 방법도 알아야지요.
어지간하면 command line argument로 넘겨주면 될 겁니다. 그래도 가끔 이상한 녀석들이 있을 수도 있죠.
여기까지 되었으면 exec* 함수를 이용해서 실행할 수 있겠네요.
감사합니다. 그렇게 만들기에는 너무 복잡하네요 ㅠㅠ 다른방법을 찾아봐야하겠네요
https://www.gtk.org/
세벌 https://sebuls.blogspot.kr/
감사합니다 gtk로 만드는것도 참고해보겠습니다 !
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
전부 직접 만드시기를 원하시는 건가요?
전부 직접 만드시기를 원하시는 건가요?
대개의 경우 이런 걸 독자적으로 직접 구현하겠다는 시도는 별로 좋은 생각이 아닐 뿐더러 사용자 입장에서도 괜히 불편하기만 하겠지만, 뭐 꼭 하고 싶으시다면 어쩔 수 없죠.
1. 주어진 파일이 어떤 종류의 파일인지 파악해야지요.
windows에서처럼 파일 이름 뒤의 확장자만 보고 판단할 수도 있고, 뭐 유닉스에는
file
명령어가 있으니까 위임하면 되겠습니다. 그것까지 직접 하고 싶으시면, 각 파일 종류별로 헤더 구조를 조사해서 감지 코드를 작성하시면 되겠지요.2. 주어진 파일 종류에 대응되는 프로그램을 찾아야 합니다.
이 부분은 어쩔 수 없이 각 파일 종류들에 대한 프로그램들을 모두 어딘가에 저장해 놓는 수밖에 없어요.
windows explorer에서는 이 정보를 레지스트리에 저장하던가요. 아마 xdp-open도 비슷한 방법으로 구현하고 있겠죠.
제대로 만들려면 이 부분은 customize를 지원해야 합니다. emacs 사용자인데 *.c 파일을 열 때 vim으로 열어 주면 화내겠죠. 반대도 마찬가지...
3. 해당 프로그램이 주어진 파일을 열도록 실행하는 방법도 알아야지요.
어지간하면 command line argument로 넘겨주면 될 겁니다. 그래도 가끔 이상한 녀석들이 있을 수도 있죠.
여기까지 되었으면 exec* 함수를 이용해서 실행할 수 있겠네요.
감사합니다
감사합니다. 그렇게 만들기에는 너무 복잡하네요 ㅠㅠ 다른방법을 찾아봐야하겠네요
https://www.gtk.org/
https://www.gtk.org/
세벌 https://sebuls.blogspot.kr/
감사합니다
감사합니다 gtk로 만드는것도 참고해보겠습니다 !
댓글 달기