2012-02-14 33 views
6

Tôi luôn cảm thấy đau khi tôi chuyển từ C# hoặc python trở lại C++ và đáp ứng phân tách .h và .cpp. Vì vậy, tôi nghĩ rằng có thể có một công cụ mà ở bước biên dịch trước có thể lấy tiêu đề (o tập tin với một số phần mở rộng đặc biệt) và chia nó thành .h và .cpp?Công cụ để tự động tách tiêu đề C++ và triển khai

Vì vậy, nếu tập tin ban đầu như thế này:

class MyClass 
{ 
public: 

    void HaHaHa() 
    { 
     //some logic 
    } 
} 

Và kết quả là sẽ như .h và .cpp file:

//.h 

class MyClass 
{ 
public: 

    void HaHaHa(); 
} 

// .cpp 

#include "MyClass.h" 

void MyClass::HaHaHa() 
{ 
    //some logic 
} 

Một số googling đã không hiển thị sẵn sàng để sử dụng các công cụ . Nhưng tôi khá chắc chắn nó không phải là một ý tưởng mới và các công cụ như vậy nên tồn tại.

P.S. Được biết, tức là Visual Assist X và VIM có các công cụ để xử lý tách .h và .cpp với ít đau hơn. Nhưng tôi hỏi về một khả năng để có một mã trong một tập tin và tách chúng tự động như là một phần của quá trình xây dựng.

+2

Và tại sao không đặt tất cả mã trong các tệp h? Biên dịch chậm? –

+0

Mô-đun sẽ sớm hơn (hoặc mới hơn) đến C++, xem: http://stackoverflow.com/questions/3596147/modules-in-c0x điều này sẽ giải quyết nó hy vọng. – tauran

+2

"Biên dịch chậm" - ví dụ. Các trình phân tích cú pháp tự động hoàn thành chậm thậm chí còn tồi tệ hơn. Hoặc đôi khi một người viết một số thư viện và không muốn nó trở thành "nguồn mở". Nói chung, C++ được thiết kế để có sự tách biệt này. Trong quan điểm này có công cụ như vậy là giải pháp rõ ràng. – MajesticRa

Trả lời

4

Công cụ này có thể giúp bạn: http://www.lazycplusplus.com/

+0

Cảm ơn bạn! Điều đó trông thực sự những gì tôi đã yêu cầu! Bây giờ là lúc kiểm tra xem nó có đang hoạt động hay không ... – MajesticRa

+0

Cho rằng trình phân tích cú pháp đã được tạo thủ công, tôi hoài nghi về khả năng phân tích cú pháp C++ thực của nó: mẫu, kiểu hàm, ... –

+0

bạn đã thử chưa? – vulkanino

2

Tôi nghĩ rằng bạn đang đi về nó ngược: bạn muốn viết các tập tin tiêu đề , mà không triển khai, trước khi viết mã. Điều gì sẽ được tốt đẹp là một công cụ mà sẽ đọc các tập tin tiêu đề và tạo ra các mã phác thảo cho việc thực hiện: với không gian tên, các lớp lồng nhau và như vậy, chỉ có trình bao có thể khá tiết. Nhưng gần nhất tôi đã thấy là Rational Rose, bắt đầu bằng một biểu đồ ULM có chú thích (cao), và tạo cả tiêu đề và bản mẫu của việc triển khai. Nó là một công cụ rất đẹp — Tôi sử dụng nó bất cứ khi nào nó có sẵn — nhưng đó là một chút pricy cho người dùng gia đình, và có lẽ ngay cả đối với các công ty nhỏ .

0

Dưới Windows Visual Assist X bởi Whole Tomato hiện that sort of thing. Không tự động mặc dù tôi không nghĩ.

+0

@Majestic - Nó không phải là ít nhất là rõ ràng những gì bạn có nghĩa là bởi VAX http://en.wikipedia.org/wiki/VAX –

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