草庐IT

invoke_main

全部标签

c++ - 等待 main() 返回?

所以我有一个多线程C++控制台应用程序,我想在其中处理控制台关闭事件以执行清理。我有这样的效果:boolrunning=true;ServerSocket*server;std::mutexmutex;BOOLWINAPIHandlerRoutine(DWORD){running=false;server->shutdown();std::lock_guardguard(mutex);returnTRUE;}intmain(){std::lock_guardguard(mutex);SetConsoleCtrlHandler(&HandlerRoutine,TRUE);try{Serv

windows - 使用 GUI 创建 Windows 程序但使用 'main()'(在 D 中)?

是否有可能在Windows中创建一个GUI程序,它的入口点在“main()”中?我该怎么做呢?我对此的用途是我想要一个具有统一入口点的跨平台应用程序。 最佳答案 使用main()编写您的应用程序,并在其中调用您将在WinMain中使用的所有GUI调用。这将创建一个同时具有GUI和控制台窗口的应用程序。使用WindowsSDK工具editbin/SUBSYSTEM:WINDOWSappname.exe更改PEheader中的子系统标志,这样Windows就不会自动创建控制台窗口。如果你想为调试消息或类似的东西使用一个有效的stdout

windows - 如何使用 cacert 文件在 Powershell (Invoke-WebRequest) 中执行等效的 cUrl?

基本上我想将命令curl翻译为与当前在linux服务器中相同的参数,但在Powershell中,以便上传文件:curl-v-T$file-uuser:passwordhttp://myurl--cacert/opt/keystores/ca_cert.pem我找到了执行此任务的等效命令:PowerShell3.0+的“Invoke-WebRequest”,但问题是我不知道如何使用CA证书文件(.pem)调用它,而且我还没有'在互联网上找到任何样本。谢谢! 最佳答案 当您在.NET中建立TLS连接时,将根据RemoteCertific

.net - .NET 与 .NET Core 2 的不同 P/Invoke 入口点

我正在将一些代码从.NET(4.5)移动到.NETCore(2),并且有一个像这样的多目标项目...net45;netcoreapp2.0代码库使用来自kernel32的Win32API函数CopyMemory,但我发现我需要根据我的目标框架使用不同的入口点名称。#ifNET45[DllImport("kernel32.dll",EntryPoint="CopyMemory",SetLastError=false)]#else[DllImport("kernel32.dll",EntryPoint="RtlCopyMemory",SetLastError=false)]#endifpu

c++ - Qt 如何设法将 main() 用于 Windows 中的非控制台应用程序?

正如Microsoft自己解释的那样,控制台程序使用main(),但非控制台Win32程序使用WinMain()作为入口点。事实上,在VisualStudio的Win32项目中使用main()会导致链接器错误。但是在Qt项目中,无论是从QtCreator还是VisualStudio创建的,GUI程序都像控制台程序一样使用main()。Qt人员如何做到这一点? 最佳答案 Qt使用WinMain()definedinqtbase/src/winmain/qtmain_win.cpp,随后calls我们的“虚构”intmain(intar

WooCommerce在woocommerce_before_main_content中添加动作

我想添加woocommerce_catalog_ordering就在我的店长Div之前的动作。这将在我的容器div之后添加。由于我的自定义HTML不是像WooCommerce所内置的那样的动作,因此我不确定如何订购两者。functionshop_page_header(){get_template_part('elements/header-nav');remove_action('woocommerce_before_shop_loop','woocommerce_catalog_ordering',30);//RemovetheresultcountfromWooCommerceremov

java - 卡夫卡 : could not find or load main class installation Windows

我正在尝试在我的计算机上安装ApacheKafka。我下载了最新版本2.12-2.0.0。我想在Windows上运行它,在我收到的\bin\windows目录中键入“.\zookeeper-server-start.bat../../config/zookeeper.properties”后:错误:无法找到或加载主类Files\Java\jdk-10.0.1\lib;C:\Program引起:java.lang.ClassNotFoundException:Files\Java\jdk-10/0/1\lib;C:\ProgramJava在我的电脑上正常运行java-version:op

windows - main(int argc, char** argv) 的荒谬值

我在旧的C++项目上启动了一个控制台应用程序。在main(intargc,char**argv)中设置断点开始program.exe-debug。根据调试器,argc变为32,argv中的字符串具有奇怪的随机值。继续执行时发生访问冲突,因为argv中的字符串指向无效值。这可能是什么原因造成的? 最佳答案 链接器设置了错误的入口点。对于普通的控制台应用程序,这应该是mainCRTStartup(调试器显示__tmainCRTStartup)。有一个无效的入口点导致main查看堆栈中“碰巧”的内容。发布这个是因为它不是很容易找到。

c# - delegate.Invoke 是如何工作的?

如果我在我的代码中创建一个委托(delegate),例如:delegatevoiddostuff(stringo);这会生成一个派生自System.MulticastDelegate的类,该类实现了三个方法-Invoke、BeginInvoke和EndInvoke.如果我查看为Invoke编译的IL,我看到的是:.methodpublichidebysignewslotvirtualinstancevoidInvoke(stringo)runtimemanaged{}//endofmethoddostuff::Invoke该方法不包含任何代码。调用它确实有效——委托(delegate)

c# - 如何制作从 C# "Thread-safe"调用的 C (P/invoke) 代码

我有一些使用单个全局变量的简单C代码。显然这不是线程安全的,所以当我在C#中使用P/invoke从多个线程调用它时,事情就搞砸了。如何为每个线程单独导入此函数,或使其成为线程安全的?我尝试声明变量__declspec(thread),但这导致程序崩溃。我还尝试制作一个C++/CLI类,但它不允许成员函数是__declspec(naked),我需要(我正在使用内联汇编)。我在编写多线程C++代码方面经验不足,因此可能缺少某些内容。下面是一些示例代码:C#[DllImport("MyDll.dll",CallingConvention=CallingConvention.Cdecl)]pu