我正在寻找一些有关C ++应用程序运行时错误的帮助,同时转换为64位。它在32位工作了近十年。我使用Visual Studio 2010 64位编译器编译它。没有编译器错误。该项目编译成一个dll文件,该文件由也以64位编译的可执行(.exe)应用程序使用。我遇到的问题是将参数传递给Oracle PL / SQL过程。在调试问题之后,我了解到我传递给Oracle的值在结尾处有一个额外的空字符,并且在32位版本时运行正常没有任何问题。
为了解决这个问题,我在C ++中使用了CString变量,我将其传递给PL / SQL过程。我暂时删除了SQL代码中的空字符,但我知道这不是一个长期的解决方案。
我可能缺少什么东西,所以我可以让它以64位工作,而不必进行任何代码更改?我不想做任何代码更改,因为如果我这样做,我已经在存储过程中进行了更改,并且必须在每个过程中执行此操作(???)。绝对必须有更好的方法来实现这一点。如果有人知道我需要做什么,或者至少你认为我应该尝试,请随时告诉我。非常感谢帮助。