我正在使用 VS2015 社区。我已经获得了一些我正在尝试构建的 C 代码。这一切都在 C 中,我已经将一个项目作为控制台应用程序。
当我构建时,出现以下错误。问题是在链接过程中找不到__stdio_common_vsprintf_s。所以我在互联网上搜索了符号,但没有得到任何有用的信息。
我正在使用名为多线程 (/MT) 的运行时库设置。
我曾尝试在所有包含之前添加 #define STDC_WANT_LIB_EXT1 1 ,但这没有帮助。我已经搜索过这个问题,但没有找到任何有帮助的帖子。
所以我搜索了所有的 VS 库,得到了很多点击,但我不知道哪些是定义,哪些是引用。然后我搜索了 VS 包含文件夹中的所有 .h 文件,但没有找到。
我怀疑可能还有另一个我需要的图书馆,但不知道它是什么。有没有人有任何想法?
1>LIBCMT.lib(_error_.obj) : error LNK2019: unresolved external symbol ___stdio_common_vsprintf_s referenced in function __vsprintf_s_l
1>LIBCMT.lib(_pdblkup_.obj) : error LNK2019: unresolved external symbol ___vcrt_GetModuleFileNameW referenced in function "int __cdecl _RTC_GetSrcLine(unsigned char *,wchar_t *,unsigned long,int *,wchar_t *,unsigned long)" (?_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z)
1>LIBCMT.lib(_pdblkup_.obj) : error LNK2019: unresolved external symbol ___vcrt_LoadLibraryExW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDllFromInstallPath(void)" (?GetPdbDllFromInstallPath@@YAPAUHINSTANCE__@@XZ)
1>MSVCRTD.lib(_chandler4gs_.obj) : error LNK2019: unresolved …Run Code Online (Sandbox Code Playgroud) 我正在调用C函数.该函数将返回一个句柄.句柄实际上是一个指针,但C#程序只用它来调用其他C函数.如果出现错误,C程序将返回C NULL.我希望C#程序检查是否返回了C NULL.
"原型"如下:
[DllImport("W:\\Dropbox\\DSI (His)\\Windows Apps\\Debug\\DsiLibrary_CSharp.dll", CharSet = CharSet.Ansi)]
public static extern UIntPtr XBaseGetDefineFile(short fileNum);
Run Code Online (Sandbox Code Playgroud)
'if'的基本思想是这样的:
if (XBaseFunctions.XBaseGetDefineFile(900) == null)
Run Code Online (Sandbox Code Playgroud)
我已经查看了很多空指针的示例,但没有讨论这个主题.所以我尝试了几个想法但没有成功.
我需要知道的是如何正确构造'if'语句.
我想将数组打印为十六进制.在下面的代码中,'buffer'已被'XBaseRead'填充.我可以使用foreach循环和格式"{0:X2}"以十六进制打印,但是当我使用具有相同格式的string.join方法时,它以十进制格式打印.
这是代码:
byte[] buffer = new byte[160];
XBaseFunctions.XBaseRead(df2500VENDR, buffer, 160, false, XBaseFunctions.O_FLAG._O_BINARY);
foreach (byte i in buffer)
{
Console.Write("{0:X2} ", i);
}
Console.WriteLine("\n");
Console.WriteLine("{0:X2}", string.Join(", ", buffer));
Run Code Online (Sandbox Code Playgroud)
这是输出:
-----------------Dump of raw buffer-----------------
F0 F0 F0 F0 C1 F0 F1 F0 C1 40 C1 D5 E3 C8 D6 D5 E8 40 50 40 E2 D6 D5 E2 40 C9 D5
C3 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 …Run Code Online (Sandbox Code Playgroud)