在 Ubuntu 系统中,对于 ROS 中的消息(msg)文件编译后生成的头文件,在程序中包含(include)时应使用 ""
,而不是 <>
。
通常,在 C/C++ 中,使用 <>
来包含标准库头文件,使用 ""
来包含用户自定义或本地头文件。对于 ROS 消息生成的头文件,它们通常被视为用户自定义头文件,因此应该使用 ""
来包含这些头文件。
关于效率的问题,使用 ""
和 <>
的主要区别在于搜索头文件的路径不同:
- 使用
""
时,编译器首先在源文件所在目录搜索头文件,然后在标准目录中搜索。 - 使用
<>
时,编译器只在标准目录中搜索。
因此,如果您的头文件是自定义的或本地的,并不在标准目录中,应该使用 ""
来包含这些头文件以确保编译器能够正确找到它们。
总的来说,在 ROS 中使用 ""
来包含生成的消息头文件是更合适的做法,因为这些头文件通常是在项目中自动生成的,并不在标准目录中。