在 c extern 中引用外部 msp430 程序集 .string
Referencing an external msp430 assembly .string in a c extern
对 msp430 进行编程,我有一个使用 .string
指令声明的字符串:
message: .string "Hello World"
我想在模块外引用它,所以我 .def
这样做了:
.def message
message: .string "Hello World"
在C中,我想引用字符串,但是得到了错误的字符:
extern char* message;
int main(void) {
char c = *message; // First character of message is listed as 'z'
}
关于可能导致此问题的任何想法?它编译得很好,程序集中有几个函数我引用没有问题。
使用extern char message[];
。当您将其声明为指针时,您是在说 message
是一个仅占用 2 个字节的内存并存储地址的值。当将它声明为 char
的数组时,你是说这是一个 1 字节字符的序列,这就是字符串。
对 msp430 进行编程,我有一个使用 .string
指令声明的字符串:
message: .string "Hello World"
我想在模块外引用它,所以我 .def
这样做了:
.def message
message: .string "Hello World"
在C中,我想引用字符串,但是得到了错误的字符:
extern char* message;
int main(void) {
char c = *message; // First character of message is listed as 'z'
}
关于可能导致此问题的任何想法?它编译得很好,程序集中有几个函数我引用没有问题。
使用extern char message[];
。当您将其声明为指针时,您是在说 message
是一个仅占用 2 个字节的内存并存储地址的值。当将它声明为 char
的数组时,你是说这是一个 1 字节字符的序列,这就是字符串。