Để đảm bảo rằng một số mã khởi chạy trước main
(sử dụng Arduino/avr-gcc) tôi có mã như sau:Làm thế nào tôi có thể thực hiện khởi tạo trước chính trong C/C++ với avr-gcc?
class Init {
public:
Init() { initialize(); }
};
Init init;
Lý tưởng nhất là tôi muốn để có thể chỉ đơn giản viết:
initialize();
nhưng điều này không biên dịch ...
có cách nào ít tiết để đạt được hiệu quả tương tự?
Lưu ý: mã là một phần của phác họa Arduino nên main
chức năng được tự động tạo ra và không thể được sửa đổi (ví dụ để gọi initialize
trước khi bất kỳ mã khác).
Cập nhật: lý tưởng là khởi tạo sẽ được thực hiện trong setup
chức năng, nhưng trong trường hợp này có mã khác phụ thuộc vào nó mà xảy ra trước main
.
+1 Đơn giản và gọn gàng. Điều này chắc chắn làm việc trên avr-gcc quá? –
Tôi không biết chắc chắn, vì tôi chưa bao giờ sử dụng avr-gcc, nhưng theo trang này http://www.nongnu.org/avr-libc/user-manual/porting.html, avr-gcc hỗ trợ các loại thuộc tính khác. –
Tôi đã thử điều này bằng cách sử dụng phần mềm Arduino (được hỗ trợ bởi avr-gcc) và nó hoạt động. Tôi sẽ chấp nhận câu trả lời này, cảm ơn bạn. –