2009-07-27 67 views
7

Tôi đang tìm một chương trình mà tôi có thể nhập đoạn mã C++ trong một cửa sổ, nhấn nút và nhận kết quả đầu ra trong cửa sổ khác. Biên dịch bằng cách nào đó sẽ bị ẩn sau nút. Trên cơ sở mỗi đoạn mã sẽ ổn, toàn bộ tương tác có thể yêu cầu quá nhiều. Nó sẽ chạy dưới Linux/Unix. trường hợp sử dụng chính sẽ học tập/kiểm tra/ngắn gỡ lỗi vvTrình biên dịch/trình biên dịch/trình biên dịch C++

thứ liên quan tôi thấy:

- dự án Reinteract cho python (mà tôi đang nói với nhà hiền triết có nhiều tính năng tương tự như)

- thread tương tự cho C# ở đây: C# Console?

- người phiên dịch CInt từ dự án CERN ROOT (có thể được gần gũi, nhưng có lẽ có những ứng dụng thoải mái hơn xung quanh)

- một số chương trình được gọi là Biên dịch Nhanh hoặc Đoạn mã, là M $.

+2

Không phải là một tốt cách học C++, IMHO. Những thứ như một hệ thống sẽ ẩn giấu khỏi bạn là những thứ bạn thực sự cần biết và hiểu đầy đủ. –

Trả lời

13

http://codepad.org/ hoạt động tốt cho mục đích này. Theo mặc định, nó sẽ chạy những gì bạn dán khi bạn nhấn gửi và hiển thị kết quả (hoặc bất kỳ lỗi nào bạn có thể có).

+0

Điều này có vẻ đẹp :) Nó có vẻ tương tác hơn sau khi thiết lập một dự án riêng. Nó tạo ra một nút mới sau mỗi thay đổi mặc dù. Nhưng vẫn thực sự gọn gàng, đặc biệt là đa ngôn ngữ. – daspostloch

0

tôi sẽ làm điều đó như thế này:

  • Capture the 'snippit' dưới dạng văn bản
  • Tạo a.cpp như sau:
int main() { 
    snippitCode(); 
    return 0; 
} 

void snippitCode() { 
    // INSERT SNIPPIT HERE 
} 
  • Sử dụng ' exec 'để khởi động một trình biên dịch và đường ống đầu ra cho một tập tin đầu ra.
  • Sử dụng 'exec' để chạy ứng dụng và dẫn đầu ra thành tệp đầu ra.

Trong cửa sổ 'đầu ra', bạn có thể chạy 'tail -f' trên tệp đầu ra để liên tục cập nhật khi đầu ra mới đến.

+0

Chặn mã lạ 'trong một mục danh sách sẽ làm rối tung mã. – Kieveli

0

Chỉ cần cấu hình trình biên tập mã của bạn để biên dịch và chạy các đoạn mã của bạn.

Hầu hết các trình chỉnh sửa mã đều có khả năng 'gửi' bộ đệm/tệp hiện tại tới một công cụ bên ngoài. Tôi cấu hình một trình soạn thảo khóa ràng buộc để biên dịch bộ đệm hiện tại, và một ràng buộc quan trọng khác để thực hiện bất cứ thứ gì được biên dịch lần cuối (thực sự chạy bất cứ thứ gì có cùng tên tệp cơ sở như bộ đệm hiện tại với phần mở rộng '.exe'). Kinh nghiệm của tôi là với Windows, nhưng tương tự hoặc tương tự có thể được thực hiện trên Unix/Linux.

Sau đó, nó trở thành một tổ hợp phím để biên dịch và một cách khác để chạy những gì tôi đã biên soạn. Điều này cũng có thể dễ dàng chỉ là một phím tắt duy nhất để biên dịch & chạy, nhưng tôi có một số ràng buộc chính được thiết lập để biên dịch bằng cách sử dụng các trình biên dịch khác nhau. Bằng cách đó tôi có thể dễ dàng kiểm tra các đoạn mã bằng các trình biên dịch MSVC, MSVC 6, MinGW GCC, Comeau và Digital Mars mới nhất để kiểm tra sự khác biệt.

Các vấn đề liên quan