Đây có phải là cách để sử dụng hàm từ lib tĩnh, nếu tôi không có tệp tiêu đề, chỉ tệp * .a, nhưng tôi biết chữ ký hàm?Cách sử dụng chức năng từ thư viện tĩnh nếu tôi không có tệp tiêu đề
Trả lời
Có, nếu bạn biết được chữ ký chức năng
Chỉ cần viết chữ ký chức năng trước khi gọi nó, như:
void f(int); //it is as if you've included a header file
//then call it
f(100);
Tất cả bạn cần làm là: liên kết các slib.a
vào chương trình.
Ngoài ra, hãy nhớ rằng, nếu thư viện tĩnh được viết bằng C và đã được biên soạn với trình biên dịch C, sau đó bạn đã sử dụng extern "C"
khi viết chữ ký chức năng (nếu bạn lập trình bằng C++), như:
extern "C" void f(int); //it is as if you've included a header file
//then call it
f(100);
Ngoài ra, nếu bạn đã nhiều chức năng, sau đó bạn có thể nhóm chúng lại với nhau như:
extern "C"
{
void f(int);
void g(int, int);
void h(int, const char*);
}
bạn có thể thích viết tất cả các chữ ký chức năng trong một không gian tên để tránh bất kỳ khả năng tên va chạm:
namespace capi
{
extern "C"
{
void f(int);
void g(int, int);
void h(int, const char*);
}
}
//use them as:
capi::f(100);
capi::g(100,200);
capi::h(100,200, "string");
Bây giờ bạn có thể viết tất cả các tệp này vào tệp tiêu đề để có thể bao gồm tệp tiêu đề trong các tệp .cpp
của bạn (như thường lệ) và gọi (các) chức năng (như thường lệ).
Hy vọng điều đó sẽ hữu ích.
Cách dễ nhất: Viết chữ ký trong tệp tiêu đề, bao gồm chữ ký và liên kết với thư viện.
- 1. Ngăn nhập chức năng từ thư viện tĩnh
- 2. Thư viện tĩnh C++ - cách tạo tệp .a từ .lib?
- 3. Tìm hiểu những chức năng nào của thư viện C tĩnh có
- 4. Tiêu đề cho thư viện tĩnh của tôi không được tìm thấy
- 5. Viết tệp MAT mà không sử dụng tiêu đề và thư viện MATLAB
- 6. Có chức năng `lật` trong thư viện chuẩn OCaml không?
- 7. Cách sử dụng thư viện tĩnh (ví dụ: thư viện cocoapods) trên XCTest?
- 8. Đọc tệp .pch trong thư viện tĩnh
- 9. Thư viện lập trình chức năng cho Mục tiêu-C
- 10. Các tệp .lib có vô dụng nếu không có tệp tiêu đề không?
- 11. Cách ẩn tên tệp đối tượng trong thư viện tĩnh?
- 12. cách tìm tệp tiêu đề để đưa vào hàm thư viện trong linux
- 13. Làm thế nào để ngăn chặn pycallgraph từ vào chức năng thư viện tiêu chuẩn?
- 14. Có thư viện Lập trình chức năng cho .NET không?
- 15. Có đáng để tạo thư viện tĩnh cho iOS không?
- 16. Gọi chức năng thư viện C/C++ từ PHP
- 17. Bảo tồn cấu trúc thư mục tiêu đề trong Xcode cho thư viện tĩnh
- 18. Tôi có nên sử dụng elif nếu tôi đã trở về từ chức năng trong khối trước không?
- 19. Có thể sử dụng createQueryBuilder để chèn/cập nhật không? Nếu không, tôi nên sử dụng chức năng nào?
- 20. Thư viện tĩnh, thư viện động, DLL, điểm vào, tiêu đề ... cách thoát khỏi điều này còn sống?
- 21. Cách tạo thư viện tĩnh từ dự án Xcode?
- 22. Từ thư viện tĩnh MinGW (.a) đến thư viện tĩnh Visual Studio (.lib)
- 23. Sử dụng các chức năng tĩnh có tốt hơn nếu không có thành viên lớp học nào cần thiết?
- 24. Tôi có nên sử dụng chức năng thư php hoặc phpmailer không?
- 25. Sử dụng một DLL có tiêu đề .h trong C++
- 26. Chức năng gọi thư viện Javascript d3
- 27. Tôi có sử dụng đúng thành phần chức năng không?
- 28. Làm cách nào để loại trừ tiêu đề thư viện khỏi phân tích mã tĩnh Visual Studio của tôi?
- 29. "đang sử dụng" hai thư viện khác nhau có chức năng gần như giống hệt nhau
- 30. Liên kết thư viện được chia sẻ với thư viện tĩnh: thư viện tĩnh có được biên dịch khác với một ứng dụng đang liên kết nó không?
Nói cách khác: Tự mình viết tệp tiêu đề cho thư viện. – sth