wprintf(L"Selecting Audio Input Device: %s\n",
varName.bstrVal);
if(0 == wcscmp(varName.bstrVal, L"IP Camera [JPEG/MJPEG]"))
{
...
}
hr = CoCreateInstance(CLSID_SampleGrabber, NULL, CLSCTX_INPROC_SERVER,
IID_IBaseFilter, (void **)&pGrabberF);
以上内容来自.cpp文件,但正如您所看到的,其内容非常简洁。
你会称它为c或c ++项目吗?
答案 0 :(得分:4)
这完全取决于你如何编译它。
有些代码将作为两者编译,如果它由C ++编译器编译,则它被认为是C ++代码。
顺便说一下,C is NOT an exact subset of C++。
通常你可以简单地通过文件的扩展来快速推断,尽管可以将C代码放在.cc扩展名或.cpp扩展名中,你也可以将C ++代码放在.c扩展名中,但那样就可以了非常罕见。
答案 1 :(得分:1)
我称之为C项目,因为我不会在C ++中通过原始指针使用C风格的字符串比较而被捕。例外或其他东西会消灭该代码。一个正确的解决方案是将bstrVal更改为BSTR类,该类具有wchar_t *的operator ==重载。
答案 2 :(得分:0)
我会说这取决于联系。如果它是一个可以C链接的库,它就是C.如果需要C ++链接,它就是C ++。如果它同时提供两种选择,那么它们都是。
但是,如果它不是库,并且需要构建C ++编译器,那么它就是一个C ++项目。
这仍然是一个联系问题。你给出的代码将在C和C ++下编译。