Có cách nào để phát hiện nếu Arduino, Stino hoặc IDE / toolchain khác đang được sử dụng không?


8

Tôi đã nhận thấy một số khác biệt khó chịu giữa Arduino IDE và Stino (chủ yếu xung quanh bao gồm các tệp tiêu đề nhất định). Đây có thể là các lỗi cần theo dõi với một hoặc cả hai bên, nhưng trong lúc này, tôi muốn mã của mình biên dịch với cả hai mà không cần chỉnh sửa. Điều này là do tôi không muốn khóa bất kỳ người dùng nào khi sử dụng mã của mình.

Có bất kỳ macro hoặc tương tự nào có sẵn (như trong, không yêu cầu sửa đổi chuỗi công cụ hoặc IDE) sẽ cho phép tôi phát hiện cái nào đang được sử dụng không?

Ví dụ: trong nhiều thư viện, có đoạn trích này:

#if ARDUINO >= 100
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif

Tuy nhiên cả Stino và Arduino đều xác định điều này.


1
Tôi đã chọc ngoáy trong chuỗi công cụ Stino một chút công bằng và đã gửi một hoặc hai yêu cầu kéo. Sẽ khá dễ dàng để có được một cái gì đó như #define STINO_COMPILERđược thêm vào định nghĩa thời gian biên dịch. Anh chàng quản lý repo khá cởi mở với các yêu cầu kéo hợp lý như thế và một khi nó nằm trong repo chính tuyến, nó sẽ không yêu cầu thay đổi đối với bất kỳ người dùng cuối nào.
Sói Connor

Cảm ơn Tên giả - vâng, tôi nghĩ rằng đó có vẻ là một kế hoạch tốt. Tôi nghĩ rằng tôi chỉ cần hỗ trợ cho Stino thực sự. Tôi chưa thấy Eclipse được sử dụng thường xuyên đủ để quan tâm.
Cyberg Ribbon

Đây không phải là một giải pháp thực sự nhưng bạn cũng có thể thêm hai phiên bản mã hoặc bằng cách nào đó có một nhận xét: Bỏ ghi chú các dòng sau và xóa các dòng khác cho Stino . | @Fake Điều đó có phải là vấn đề khi sử dụng mã đó với Arduino IDE không?
Chim cánh cụt vô danh

Để biết thêm nhận xét của Penguin Penguin, bạn có thể có một bảng xác định cho mỗi trình biên dịch. Và sau đó, phiên bản mặc định của mã có lỗi và sẽ không chạy trừ khi người dùng nhận xét một dòng để chỉ định trình biên dịch nào họ đang sử dụng. Một cái gì đó như thế này#if !defined(STINO_COMPILER) #error please uncomment one of the compiler lines #endif
portforwardpodcast

Câu trả lời:


1

Như Stino tuyên bố sẽ sử dụng Arduino IDE đã cài đặt mà bạn đã có, điều đó có nghĩa là bạn không thể phân biệt được tại thời điểm biên dịch.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.