Tôi cần một số MACRO tùy chỉnh trong các dự án NDK của tôi tuy nhiên tôi không có lý tưởng làm cách nào để thêm và tôi không tìm thấy câu trả lời Có thể ai đó vui lòng giúp đỡ không? Rất cám ơn!Cách thêm MACRO tùy chỉnh khi sử dụng NDK?
Trả lời
Nếu bạn hiểu chính xác, bạn cần xem cách hoạt động của C Preprocessor.
Bạn có kinh nghiệm bằng văn bản về C/C++ - chương trình không? Trước hết, bạn nên thực sự cầu kỳ về những phần nào của ứng dụng bạn viết trong mã gốc. Ngoài ra, bạn cần lưu ý rằng mã gốc sẽ hoạt động hoàn toàn khác khi nói đến phân bổ bộ nhớ và như vậy, vì vậy đây thực sự không phải là nơi để phỏng đoán.
Dành thời gian tìm hiểu C/C++, thiết kế ứng dụng của bạn một cách khôn ngoan để các phần bạn muốn viết bằng mã gốc được xác định rõ ràng và không làm tăng khả năng ứng dụng của bạn gặp sự cố. Tôi đoán hầu hết các dự án có thể làm mà không có phần ứng dụng gốc, vì vậy nếu bạn đang sử dụng nó và không biết chính xác những gì bạn đang làm, bạn nên thực sự xác định lại đó là điều đúng hay không không phải.
Nếu bạn muốn thêm một định nghĩa đặc biệt khi biên dịch mã NDK của bạn (JNI) thêm đoạn mã sau vào Android.mk của bạn:
LOCAL_CFLAGS := -DMYDEFINE
này sẽ xác định các Macro MYDEFINE trong c của bạn/C++ mã.Dưới đây là một ví dụ
#ifdef MYDEFINE
// We build the project with this special macro
#else
// We build without setting the macro in the LOCAL_CFLAGS
#endif
Nó hoạt động hoàn hảo! – Loc
Rất vui khi nó hoạt động: P Vì vậy, bạn có thể chấp nhận câu trả lời hehe: P – Moss
Tìm hiểu từ lỗi của tôi: đừng bỏ lỡ 'D' trong' -DMYDEFINE' – codingFriend1
Nếu bạn đang nói về macro makefile android như
$ (gọi my-dir)
Đó là chính xác giống như cú pháp makefile GNU
Ví dụ:
ngược = $ (2) $ (1)
foo = $ (gọi ngược lại, a, b)
$ (cảnh báo $ (foo))
kết quả :
ba
Để xác định marcro:
LOCAL_CFLAGS += -DYOUR_MACRO
để xác định vĩ mô với giá trị:
LOCAL_CFLAGS += -DYOUR_MACRO='"string"'
hoặc
LOCAL_CFLAGS += -DYOUR_MACRO=123
cá nhân, tôi đề nghị sử dụng + = thay vì: = để tránh LOCAL_CFLAGS
được ghi đè.
- 1. Thêm tiêu đề tùy chỉnh bằng cách sử dụng HttpWebRequest
- 2. ClassNotFoundException khi sử dụng Parcelable tùy chỉnh
- 3. Thêm đối số tùy chọn vào macro
- 4. Nette Framework - macro thuộc tính tùy chỉnh
- 5. Android-NDK-Thêm vị trí Hỗ trợ gốc-NDK không hợp lệ trong các tùy chọn
- 6. NDK của Android: biên dịch WebView tùy chỉnh từ nguồn
- 7. Sử dụng tùy chỉnh simpleCursorAdapter
- 8. Trường hợp hiếm khi sử dụng MACRO
- 9. Cách thêm UIPickerView tùy chỉnh vào UINavigationBar?
- 10. Cách thêm lớp phủ tùy chỉnh uiimagepickerview
- 11. SNMP: OID để sử dụng khi soạn MIB tùy chỉnh
- 12. thêm đối tượng bằng cách sử dụng typeadapter tùy chỉnh, jsonwriter trong gson
- 13. Gán phím tắt cho macro Visual Studio 2010 macro tùy chỉnh
- 14. Đường ray - Thêm trường tùy chỉnh khi chạy trong ActiveRecord
- 15. Làm cách nào để thêm nút vào thanh phụ đề WPF khi sử dụng chrome cửa sổ tùy chỉnh?
- 16. Thêm thuộc tính tùy chỉnh vào cạnh chấm SVG bằng cách sử dụng jQuery
- 17. Cách sử dụng GLM trong ứng dụng NDK của Android
- 18. Cách chính xác để bao gồm javascript tùy chỉnh khi sử dụng Zurb Foundation
- 19. Tùy chỉnh 404 sử dụng Spring DispatcherServlet
- 20. Magento 1.7.0.1 đặt lại giá thành 0 khi sử dụng tùy chọn tùy chỉnh
- 21. Cách sử dụng từ khóa tùy chỉnh trong SVN
- 22. Cách sử dụng liên kết tùy chỉnh với ko.observableArray()
- 23. Notepad ++ sử dụng lệnh "Chạy" trong macro
- 24. Robomongo, cách sử dụng các chức năng tùy chỉnh?
- 25. Cách mở camera bằng cách sử dụng Android NDK
- 26. Làm cách nào để ẩn cột DataGridView khi sử dụng DataSource tùy chỉnh?
- 27. Sử dụng gốc tùy chỉnh với FiddlerCore
- 28. Đối số tùy chọn trong macro macro
- 29. Cảnh báo tùy chỉnh sử dụng Javascript
- 30. Sử dụng OpenSSL với kênh tùy chỉnh
Tôi đang di chuyển và tôi là người mới cho android , cảm ơn vì lời khuyên của bạn! – Loc
Đồng ý. Tôi muốn thêm rằng _if_ ai đó quyết định trộn Java và mã gốc cho một ứng dụng Android, cố gắng giảm thiểu việc vượt qua ranh giới JNI. Đó là: giảm thiểu các cuộc gọi JNI vì chúng tương đối đắt tiền. Imho, bất cứ ai tìm thấy chính mình trong một tình huống mà các cuộc gọi JNI tần số cao không thể tránh được nên nghiêm túc xem xét đi Java chỉ. Nếu không vì lý do hiệu suất, thì ít nhất là để ngăn chặn JNI gây đau đầu. – pauluss86