Tôi không thể tìm cách chạy chương trình c trong thiết bị đầu cuối emacs. Tôi có thể biên dịch nó với M-x cc filename.c và nó hoạt động tốt. Lệnh để chạy chương trình là gì. M-x (tôi gõ gì).Biên dịch và chạy chương trình C trong Emacs
Trả lời
shell-command
là những gì bạn đang theo dõi.
Hỏi Emacs về nó: C-h f "shell-command". Nó bị ràng buộc với M-!
EDIT: làm rõ hành động chính xác cần thiết
Làm điều này:
M! foo-programnhập
Trường hợp foo-program là tên của tệp thực thi đã biên dịch.
Một ý tưởng tốt hơn là nên sử dụng một Makefile
---- X Makefile X----
build:
gcc -o exec_name input.c
run:
./exec_name
Và sau đó bạn có thể làm Mx biên dịch và đưa ra lệnh như làm xây dựng để biên dịch chương trình và Mx biên dịch tiếp theo hãy chạy để chạy chương trình.
Một cách khác để chạy sẽ M-x gdb
Tất nhiên bạn muốn làm cho mục tiêu 'run' phụ thuộc vào thực thi và có thể không có đích' build'. Tôi đã từng sử dụng một thiết lập như thế này. Chúng tôi đã có các mục tiêu '%: run','%: gdb', '%: valgrind', v.v. sẽ tạo bất kỳ tệp thi hành nào của chúng tôi và chạy (thông thường, dưới gdb, dưới valgrind). Nó rất hữu ích đặc biệt là nếu biên dịch mất một thời gian dài. –
Một cách khác là để chạy chương trình trực tiếp trong vỏ với M-x shell
hoặc M-x term
để mở vỏ trong bộ đệm trong trường hợp đầu tiên và vỏ thực trong thứ hai. Sau đó, chạy chương trình của bạn ./myprog
Bạn luôn có thể sử dụng compile
giống như bạn muốn tạo. Điều này là tốt đẹp nếu chương trình của bạn spits ra các tin nhắn có thể được đánh dấu và nhảy lên như một trình biên dịch. Bạn cũng có thể viết một chức năng ngắn như:
(defun run-current-file()
"Runs the compilation of the current file.
Assumes it has the same name, but without an extension"
(interactive)
(compile (file-name-sans-extension buffer-file-name)))
để bạn không phải nhập tên tệp mọi lúc. Điều này có lợi ích bổ sung mà bạn có thể để ràng buộc default-directory
nếu sản phẩm xây dựng nằm trong một thư mục khác và bạn có thể có tên gọi phức tạp hơn. Tất nhiên bạn có thể thay đổi compile
thành shell-command
v.v. nếu bạn thích đầu ra đó.
Mặc dù đây có thể không phải là phương pháp tối ưu nhất để làm như vậy, nhưng đây là cách rất nhanh để xem chương trình đầu ra của chương trình C.
;; Run C programs directly from within emacs
(defun execute-c-program()
(interactive)
(defvar foo)
(setq foo (concat "gcc " (buffer-name) " && ./a.out"))
(shell-command foo))
(global-set-key [C-f1] 'execute-c-program)
Chỉ cần đặt đoạn mã sau vào tập tin init của bạn, và nhấn Ctrl + F1 để xem kết quả trong minibuffer.
- 1. biên dịch C++ thành chương trình "thực"
- 2. Trình biên dịch/trình biên dịch/trình biên dịch C++
- 3. Cách biên dịch và chạy chương trình C/C++ trên hệ thống Android
- 4. Cách biên dịch và chạy chương trình C trên Mac OS X
- 5. Lỗi Hiphop khi chạy chương trình đã biên dịch
- 6. Trình biên dịch biên dịch trong C#
- 7. scons - chương trình đang chạy sau khi biên dịch
- 8. biên dịch chương trình java
- 9. Chạy chương trình từ Emacs và không đợi đầu ra
- 10. Biên dịch chương trình C với kiến trúc cụ thể
- 11. làm thế nào để biên dịch và chạy chương trình java trong một chương trình java khác?
- 12. Chạy chương trình elisp không có Emacs?
- 13. Thay đổi Trình biên dịch Mặc định Trong Emacs?
- 14. C: Thông tin trình biên dịch tại thời gian chạy
- 15. Làm thế nào để chạy chương trình được viết cho trình biên dịch cũ?
- 16. bị lỗi '\' trong lỗi chương trình khi biên dịch
- 17. Cách nhanh nhất để viết & biên dịch một chương trình C/C++ trong Windows
- 18. C++: Trình biên dịch và chức năng Trình liên kết
- 19. Làm thế nào tôi có thể biên dịch và chạy chương trình C# mà không sử dụng studio trực quan?
- 20. Làm thế nào để biên dịch và chạy một chương trình C đơn giản với Sublime Text 2?
- 21. emacs keybinding để biên dịch tập tin C
- 22. Lỗi trình biên dịch C++ trong xamltypeinfo.g.cpp
- 23. Lỗi trình biên dịch C++ trong netbeans
- 24. Mã C# không được biên dịch có biên dịch thành IL và chạy trên CLR không?
- 25. Biên dịch mã động khi chạy bằng T4 và C#
- 26. Chương trình biên dịch chạy chậm hơn MUCH sau khi tôi chuyển sang VS 2010
- 27. Chương trình biên dịch cho hạt nhân cũ
- 28. Biên soạn nhiều file C trong một chương trình
- 29. Clisp + Emacs biên dịch và tải tập tin
- 30. Chương trình hoạt động khi chạy với scala, nhận lỗi biên dịch khi cố biên dịch bằng scalac
Tôi đã xem và không hữu ích. – clay123
Tôi khuyên bạn nên đọc tài liệu kỹ lưỡng hơn. Đề xuất của event_jr khá hợp lý. – Perry
Tôi đã đọc nó. Tôi rất mới này. Tôi không hiểu một nửa ý nghĩa của nó.Tôi chỉ cần biết những gì để gõ để có được chương trình của tôi để chạy – clay123