C++ 没有定义的函数调用(在头中,没有DLL或静态库)

C++ 没有定义的函数调用(在头中,没有DLL或静态库),c++,function,embedded,call,motorola,C++,Function,Embedded,Call,Motorola,我交了一个嵌入式控制器代码,它有一堆.c文件和一些头文件,还有很多嵌入式处理器的相关文件,它是摩托罗拉的MC9S12DT256,它使用了一个不太好的编译器——Cosmic。我使用VisualStudio只是一个txt编辑器来修改代码,它会更改正在刻录到处理器的十六进制文件 本周早些时候我得到了它,花了我大部分的时间在它上面,对于一些小的修改,它工作正常,在代码中修改了一个值,然后再次编译,做了必要的修改,现在我必须做一些大的修改。代码调用某些函数,这些函数在我得到的所有.hpp/.h/.cpp文

我交了一个嵌入式控制器代码,它有一堆.c文件和一些头文件,还有很多嵌入式处理器的相关文件,它是摩托罗拉的MC9S12DT256,它使用了一个不太好的编译器——Cosmic。我使用VisualStudio只是一个txt编辑器来修改代码,它会更改正在刻录到处理器的十六进制文件

本周早些时候我得到了它,花了我大部分的时间在它上面,对于一些小的修改,它工作正常,在代码中修改了一个值,然后再次编译,做了必要的修改,现在我必须做一些大的修改。代码调用某些函数,这些函数在我得到的所有.hpp/.h/.cpp文件中都找不到。也没有关联的DLL。我试图找到一些基本的链接,并把它放在一个.sln中,但大多数数据仍然无法识别,因为我无法进入defn声明。 所以我的问题是-当VS空白时,如何得到函数定义到调用它的位置。查找所有引用也没有帮助

谢谢
PM

它们可能是编译器提供的编译器内部函数,而不是库中的函数。但不清楚您是如何确定它们不存在于静态库中的,或者为什么您认为应该能够看到定义而不是声明


当使用Visual Studio作为嵌入式项目IDE时,您应该将项目创建为makefile项目,即使您实际上没有makefile,您需要为嵌入式代码和Cosmic compiler标准头文件夹添加所有必要的头路径,作为项目的包含文件-VS扫描头文件,以声明Intellisense代码完成和浏览器导航。

如果没有更多,按名称排序的函数是什么?也许他们是与编译器一起打包的库中的助手?考虑使用递归搜索工具扫描整个安装/生成机器的名称。最终,如果你发现二进制实现没有源代码,你可能不得不做出有根据的猜测并从中构思出新的原型。如果你提到你找不到的函数,你几乎肯定会得到更好的答案。您搜索过编译器提供的包含目录了吗?函数是can_init0,can_init1这些都是特定于代码的,就像控制器是nw库一样,所以我相信这些不是编译器内部函数。它们可以存在于静态库中,我认为VisualStudio静态库扩展是片面的,因为大多数def都有不同的扩展。在make文件中,我包含了所有的头路径——这就是为什么代码使用以前的小改动进行编译的原因,我可以对我的嵌入式开发进行编程,在改动后,它可以按预期工作。扫描所有以前的版本之后