你能用visual studio强制替换C中的一些函数吗?

你能用visual studio强制替换C中的一些函数吗?,c,visual-studio,C,Visual Studio,我为一个c库创建了一个c++/cli包装器,现在正在处理反馈系统 本机库只需使用诸如error。。。和信息。。。进行格式化和打印的。每个库项目都有一个头common.h,它提供了这些函数 我创建了自己的静态反馈库和函数,模拟这些调用的签名,因此它们可以作为替代品,与cli dll一起工作并引发静态事件。我成功地将该库包括在其中一个项目中,并在用我自己的名字替换了所有原始反馈电话后,它按预期执行 但是我的兴趣是不修改原始库,因此我想知道如果从c++cli项目构建,是否有办法强制用我自己的调用替换这

我为一个c库创建了一个c++/cli包装器,现在正在处理反馈系统

本机库只需使用诸如error。。。和信息。。。进行格式化和打印的。每个库项目都有一个头common.h,它提供了这些函数

我创建了自己的静态反馈库和函数,模拟这些调用的签名,因此它们可以作为替代品,与cli dll一起工作并引发静态事件。我成功地将该库包括在其中一个项目中,并在用我自己的名字替换了所有原始反馈电话后,它按预期执行


但是我的兴趣是不修改原始库,因此我想知道如果从c++cli项目构建,是否有办法强制用我自己的调用替换这些调用?我确实找到了一个选项,可以在所有项目上强制使用我的库的标题,如果有什么东西可以强制排除原始的反馈标题的话,我就可以做生意了!有什么想法吗?

现在还不清楚为什么在项目中编写函数并将其包含在.c文件中是行不通的。您的版本应该通过直接链接来获取。所有.obj文件都是在任何库之前链接的。

google for API挂钩只需使用与原始文件完全相同的签名编写您自己的函数即可。链接器将使用您的链接器,而不是从静态库导入原始链接器。这给了我链接器错误LNK2005_信息,该信息已在libFeedback.lib中定义,源自common.objsounds,就像他希望替换已构建代码中的函数一样,因此我认为如果您有库源代码,挂钩或代理dll是唯一的方法,您只需从项目中排除定义了原始反馈函数的文件。标题与此无关。您自己的头文件可能提供与原始文件完全相同的定义。