2010-02-27 15 views

Trả lời

2

Có thể mã của các dự án mã nguồn mở có thể phù hợp với bạn? Gần đây, trên FLOSS-Weekly là cuộc thảo luận về Stellarium.

Tuyên bố từ chối trách nhiệm: Tôi không xem nguồn Stellarium đó nên tôi không biết liệu nó có hữu ích hay không và tiếc là nó được viết bằng C/C++.

2

Không nằm trong mục tiêu C nhưng thư viện được bao gồm trong gói pyephem khá tốt. Các tệp nguồn C được lấy từ chương trình X windows Xephem cũ với keo được thêm vào để làm cho các hàm có sẵn từ bên trong Python. Miễn là bạn không yêu cầu độ chính xác siêu cao, những thói quen này có thể sẽ làm việc cho bạn.

http://rhodesmill.org/pyephem/

12

Tôi khuyên bạn nên PJ Naughter của AA+ library. Nó dựa trên cuốn sách thuật toán thiên văn học của Meeus. Thư viện khá toàn diện và được viết bằng C++ (dễ dàng được gọi từ Objective-C). Ứng dụng iOS của tôi Lúan sử dụng thư viện này.

+0

Tôi đã tải xuống thư viện AA +, nhưng bạn có vui lòng cho tôi biết cách thêm tệp C++ vào dự án XCode iOS không? Tôi đã thử nhưng nó lỗi tại ** lớp ** từ khóa! – AVEbrahimi

+3

Khi tích hợp AA +, hãy xóa các kiểm tra vì chúng chứa một hàm chính sẽ xung đột với chính các dự án của bạn. đổi tên các tệp obj-c cần tham chiếu mã C++ để kết thúc bằng .mm thay vì .m. Làm như vậy sẽ đặt trình biên dịch ở chế độ mục tiêu-C++ cho tệp đó. –

+0

Bạn không thể tìm thấy mặt trời và mặt trăng mọc và thiết lập là đúng? –

1

Trên đầu trang của câu trả lời của Andrew Hammond, tôi chỉ sử dụng Xcode để tải xuống AA. Sau đó tôi xóa tất cả các tệp Kiểm tra (AATest.cpp AATest.sin AATest.vcproj) và cảnh báo bằng Xcode về "Độ chính xác số nguyên chuyển đổi mất 'dài' thành 'int'" trong dòng cuối cùng trên nYear/100

CAAEasterDetails CAAEaster::Calculate(long nYear, bool GregorianCalendar) 
{ 
    CAAEasterDetails details; 

    if (GregorianCalendar) 
    {      
    int a = nYear % 19; 
    int b = nYear/100; 

Chương trình biên dịch ok. Chỉ biên dịch nếu chương trình là mục tiêu c nhưng không nếu nó là Swift dựa. Đã xảy ra sự cố với macro tiền xử lý AAPLUS_EXT_CLASS.

0

Đối với những người vẫn quan tâm đến năm 2016, tôi đã tạo một Objective-C (++) và Swift wrapper quanh thư viện AA + của PJ Naughter. Nó được dựa trên cuốn sách thiên văn Algorithms bởi Jean Meeus và nó là mã nguồn mở trên GitHub:

https://github.com/onekiloparsec/SwiftAA