草庐IT

指针和数组的笔试题

全部标签

c++ - 与 __stdcall 函数指针声明等价的 clang 是什么?

我有以下函数指针声明:externlong(__stdcall*FooPtr)(int*i);也就是说,一个函数指针指向一个函数,该函数将使用stdcall调用约定(在VS术语中)调用。我怎样才能翻译这个声明让clang理解它? 最佳答案 __attribute__((stdcall))是正确答案:clang支持thefollowinglistofattributes在语法上,它与gcc的非常相似。例如#ifdefined(__clang__)||defined(__GNUC__)#definestdCallConv__attrib

c++ - 在 C++ 中使用带有指针结构的 beginthread

我正在做一个项目,在这个项目中我必须使用指针结构作为线程的输入参数。我的代码看起来像这样:structcoord{double*xPos;double*yPos;};voidcdeclfoo(void*inData){coord*my_data=(coord*)inData;printf("Threadvalues:\n");printf("xVal:%f\n",*(my_data->xPos));printf("yVal:%f\n",*(my_data->yPos));}主体看起来像这样:{doublestartX=10;doublestartY=10;/*declarevariab

python - ctypes:使用 lib.so(在 Mac 上)时指针地址修改,但在使用 lib.dll(在 Windows 上)时不修改

来源C++/***typedefineclasstemplateforextern"C"***/typedefMpolyMpolyDouble;//Declarefunctionsasextern"C"forctypes////>>compilerstatement(mac/linux):g++-shared-olibPoly.so-fPIClibPoly.cpp//>>compilerstatement(windows):g++-shared-olibPoly.dlllibPoly.cpp//extern"C"{/***libPolyConstructor/DestructorRou

c++ - 手动检索和存储指向 OpenGL 函数的指针时出现问题

我在手动检索和存储指向OpenGL函数的指针时遇到了一些麻烦,这是我的代码的“简化片段”版本:#ifdefWIN32#include#endif#includeclassCGLManager{public://ManagerfunctionsboolGetAnyGLFuncAddress(constchar*_cName,void*_pFunc);boolLoadFunctions(void);//OpenGLfunctionsvoid(APIENTRY*glBegin)(GLenummode);void(APIENTRY*glEnd)(void);void(APIENTRY*glVe

c# - 在某处写入日志和数据的正确方法

我们有一个Windows应用程序,它可以安装在程序文件中,也可以从其他地方复制和使用。此外,客户经常希望在同一台机器上使用多个版本的应用程序(长话短说:客户有N个项目,每个项目都处于不同的阶段,因此每个项目都需要我们应用程序的不同版本。客户群是我们应用程序之上的自己的项目/框架)。我们开始看到客户提示运行我们的应用程序需要管理员权限,因为:我们将文本日志写入本地文件夹。我们也使用Windows事件作为日志,但需要文本日志。我们将数据库缓存写入本地文件夹。数据库缓存应尽可能在应用程序运行之间持续存在。我们还编写了一些其他文件,例如仅在应用运行生命周期中需要的固件,并且可以在应用关闭时删除

C++ 查找指针错误

我目前正在从事一个问题已久的项目,现在我怀疑,除其他外,代码中存在指针错误。该程序使用COM以nativeC++编写,并使用进程外COM服务器。谁能给我一些提示,告诉我如何找到这些错误?有没有什么具体的事情要记住,方法等等... 最佳答案 我有几个建议:你是怎么发现指针错误的?你为什么不把它放在调试器中,然后看看程序崩溃的地方?那将是一个开始。监视有问题的变量。是什么让您认为代码的COM部分有问题?相反,我想这里有2个进程在运行(可能在同一台机器上,也可能不在同一台机器上),您应该并行运行这些进程,然后看看它们如何相互响应——我很确

windows - Windows 应用程序中的鼠标指针状态在鼠标移动之前不会改变

有没有人注意到在Windows应用程序中鼠标指针不会从沙漏变回正常,直到您移动鼠标?因此,即使您的应用程序已完成一项任务并且鼠标指针已设置为返回默认值,它仍将保持为沙漏,直到您移动鼠标。这是什么原因,能否解决?我不确定其他人是否注意到了这一点,但这很奇怪,它可能是某种节省操作系统资源的事件驱动方式。 最佳答案 对话框应该保持沙漏的逻辑。工作线程应该向对话本身发送一条消息,告诉它开始维护一个沙漏线程。(您可以通过向启动和停止沙漏的对话框添加一个临时按钮来对此进行测试。)另一件需要注意的事情是让第二个进程设置第一个进程的沙漏是一件奇怪的

windows - 是否可以在不使用 Bitblt 的情况下使用指针直接(低级别)写入窗口?

我编写了一个立体滤镜,可以将两幅图像混合成一幅立体图像。这是一次处理一个像素的快速例程。现在我正在使用指针将每个计算出的像素输出到内存位图,然后将整个图像通过Bitblt传输到窗口上。这对我来说似乎是多余的。我宁愿将每个像素直接复制到屏幕上,因为我的浮雕例程非常快。是否可以绕过Bitblt并简单地将指针指向Bitblt将其复制到的位置? 最佳答案 我相信这是可能的,但你真的真的不想这样做。一次绘制整个图案效率更高。 关于windows-是否可以在不使用Bitblt的情况下使用指针直接(低

c - 如何获得某些 Visual Basic 6 控件的 IUnknown* 指针(如果有)?

我想从带有IUnknown*的VisualBasic6程序中调用一些C函数。假设我知道我的VB6应用程序中的某些控件是ActiveX控件,我能否从中获取底层IUnknown*(可能通过转换?)将其传递给C函数? 最佳答案 所有COM接口(interface)都派生自IUnknown,您可以在任何有效的接口(interface)指针上使用IUnknown方法。如果您需要对同一组件的额外引用,但不关心是哪个接口(interface),则使用IUknown的QueryInterface方法。

windows - 在本地事件目录上不能嵌套另一个组的组成员

我正在尝试创建一个文件系统权限场景来测试我当前正在开发的软件。在这种情况下,我希望一个组成为另一个组的成员。然而,在全局域Controller上,这是有效的,也是Windows中的最佳实践(就我而言)。但如果我尝试在我的本地计算机上将一个组嵌套到另一个组中,它只允许我添加用户或集成安全主体(不确定这是否是正确的翻译)。有没有办法克服这个限制? 最佳答案 您只能将某些类型的组嵌套在其他组中。本地组不能包含其他本地组。请参阅:http://support.microsoft.com/kb/974815?wa=wsignin1.0AD组嵌