ID bài viết: 000077602 Loại nội dung: Thông tin sản phẩm & Tài liệu Lần duyệt cuối: 11/09/2012

Làm cách nào để đưa tệp C vào dự án phần mềm Nios II C của tôi?

Môi Trường

    Bộ xử lý Intel® Nios® II
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Mô tả

C2H không hỗ trợ tạo các bộ tăng tốc từ các tệp C. 

 

Có một công việc xung quanh cho phép bạn gọi (các) bộ tăng tốc của mình từ một chương trình C liên quan đến việc di chuyển các chức năng bạn muốn tăng tốc từ tệp nguồn C sang tệp nguồn C.  Khi các chức năng của bạn ở trong tệp nguồn C, trình biên dịch C2H có thể "xem chúng" và chuyển đổi chúng thành bộ tăng tốc phần cứng một cách hiệu quả. 

 

Có một số bước bổ sung cần thiết để trộn các chức năng C và C (và các tập tin).

 

Chuỗi công cụ GNU hỗ trợ việc gọi các chức năng C từ các chương trình C (và ngược lại) thông qua một phương pháp xác định rõ ràng.    Cách thức hoạt động này là, từ chương trình C của bạn, bạn chỉ cho trình biên dịch biết chức năng nào sẽ được gọi là chức năng C thay vì C .  Hoạt động này được thực hiện thông qua việc sử dụng cú pháp "C" extern trong tệp nguồn C.

 

Một số ví dụ về cú pháp "C" extern trong action như sau:

  1. Gọi cho chức năng C từ chương trình C

Thiết lập:  Bạn có một thanh vô hiệu chức năng (void), sống trong tệp nguồn C "bar.c" mà bạn muốn gọi từ tệp nguồn C "foo.cpp".

Giải pháp:  Thêm nó vào đầu "foo.cpp" -  

                extern "C"void foo(void);

 

  1. Gọi đến các chức năng C từ chương trình C

Thiết lập:  Một tập hợp các chức năng sống trong tệp nguồn C "bar.c" mà bạn muốn gọi từ tệp nguồn C "foo.cpp".

Giải pháp:  Đơn giản chỉ cần thêm ni hàm xung quanh nhóm chức năng ở đầu tuyên bố extern trong "foo.cpp" -  

                extern "C" {

foo void(void);

int foo2(số int);

int foo3 (số int 1, số int 2);

}

 

  1. Gọi tiêu đề C từ chương trình C

Thiết lập: Bạn có toàn bộ bộ chức năng C (hoặc thư viện) trong tệp có tên "bar.c" mà bạn muốn gọi từ chương trình C "foo.c" của mình và bạn thực sự không muốn liệt kê chúng riêng lẻ thông qua quy trình #2 (ở trên).  Bạn có một tệp tiêu đề cho "bar.c" được gọi là "bar.h" khai báo giao diện của các chức năng.

Giải pháp: Tuyên bố extern cũng hoạt động cho các tệp tiêu đề ... Trong tệp "foo.cpp", sử dụng tuyên bố extern để thêm tệp tiêu đề-

                extern "C" {

                                #include "bar.h"

}

 

 

Phương pháp nào tốt nhất để sử dụng với C2H? Khisử dụng trình biên dịch C2H, người dùng nên "cách ly" chức năng để tăng tốc vào tập tin riêng của mình, vì vậy việc sử dụng ví dụ đầu tiên là cách tiếp cận tốt nhất để tăng tốc các chức năng với trình biên dịch C2H.

 

Các sản phẩm liên quan

Bài viết này áp dụng cho 1 sản phẩm

Thiết bị có thể lập trình Intel®

1

Nội dung gốc bằng tiếng Anh trên trang này vừa do con người vừa do máy dịch. Nội dung này chỉ để cung cấp thông tin chung và giúp quý vị thuận tiện. Quý vị không nên tin đây là thông tin hoàn chỉnh hoặc chính xác. Nếu có bất kỳ mâu thuẫn nào giữa bản tiếng Anh và bản dịch của trang này, thì bản tiếng Anh sẽ chi phối và kiểm soát. Xem phiên bản tiếng Anh của trang này.