Tôi có nhiều cảm biến 3 trục khác nhau mà tôi đang viết mã thử nghiệm. Trong các tập tin C cho mỗi người trong số họ, tôi có chuỗi char cùng định nghĩa:Cách xác định một chuỗi các ký tự trong tệp tiêu đề?
char axis[3][8] = {"X", "Y", "Z"}
mà tôi sử dụng khi tôi "cho" Kết quả vòng lặp để in các trục đó là thất bại như thế này:
DEVICETEST_LOG("%s Failed %s axis for Min range\n",device_name[DUT], axis[i]);
Tôi đã suy nghĩ để tiết kiệm một số không gian tôi có thể xác định một chuỗi ký tự chuỗi trong một tập tin tiêu đề để sử dụng trên tất cả các nơi.
Tôi đã thử một số thứ, nhưng dường như tôi không thể nhận được một chuỗi các chuỗi được xác định trong tệp tiêu đề của tôi mà tôi có thể lặp qua để biên dịch.
ah có ý nghĩa nhưng có vẻ như âm trầm ... Vì vậy, tệp tiêu đề tôi bao gồm ở mọi nơi trỏ tất cả các tệp C khác vào định nghĩa cục bộ "myfile.c". – user1054210
Vì vậy, mặc dù tôi đã bao gồm các tập tin tiêu đề trong các tập tin c khác tôi nhận được một lỗi biên dịch "undefined refrence". Vì vậy, trong myheader.h tôi có >> extern char * AXIS [3] [8]; và trong myfile.c tôi có >> char * AXIS [3] [8] = {{"X"}, {"Y"}, {"Z"}}; và tôi bao gồm myheader.h trong otherfile.c. Tôi cũng đã thử một vài thủ thuật khác nhưng chúng không đồng bộ hóa. – user1054210
Cái gì khác là sai sau đó bởi vì điều này không làm việc ... những gì sẽ xảy ra nếu bạn lấy vĩ mô ra khỏi phương trình và chỉ đơn giản là cố gắng truy cập vào mảng trong một mô-đun mã bao gồm các tập tin tiêu đề? Thứ hai, nó chỉ nên là 'const char * AXIS [3] = {" X "," Y "," Z "};' vì đây là các chuỗi ký tự chuỗi ... bạn lấy '8' từ đâu? – Jason