草庐IT

代码优化

全部标签

windows - 这段汇编代码在做什么 - 写入进程内存

编辑/更新所以我认为让我感到困惑的是:LEAESI,[EBX+8*EAX+4]加载一个地址,但是:LEAESI,[EBX+4]加载内容(值?)而不是地址。这怎么不是取消引用?我也不知道是什么mov[eax+1],ecx是吗?原始问题我正在努力学习阅读汇编,但我开始挣扎了。抱歉,如果有拼写错误,我无法从我的实验室机器上复制。这是来自恶意代码,因此它可能不是最佳的。我想我在某处理解有缺陷,但我就是想不通。var_30=byteptr-30hleaeax,[ebp+esi+var_30]我的理解是,加载有效地址将成为从[basepointer-30h+esi]计算出的任何地址。我不知道esi

java - 在 VisualStudio 2003 中调试 JNI 代码

如何在不使用eclipse的情况下调试VisualStudio2003中的JNI代码? 最佳答案 http://www.velocityreviews.com/forums/t152740-jni-debugger.htmlSUMMARY:Basically,theideaisthatyoustartyourJavaprogramunderEclipse,andthentellVCtoattachtotherunningprocesstoo. 关于java-在VisualStudio20

windows - 当传递的对象没有实现必要的接口(interface)时返回哪个错误代码?

在COM中,当我有一个我无法更改的众所周知的接口(interface)时:interfaceIWellKnownInterface{HRESULTDoStuff(IUnknown*);};我的IWellKnownInterface::DoStuff()实现只能在传递的对象实现某个特定接口(interface)时工作,我该如何处理这种情况?HRESULTCWellKnownInterfaceImpl::DoStuff(IUnknown*param){//thiswillQIforthespecificinterfaceATL::CComQIPtrobject(param);if(obje

c - 在 Windows 上查找 C 代码中的内存泄漏

我已经知道我可以在Linux上使用mtrace和valgrind跟踪我的代码中的内存泄漏,这两者在Windows上都不可用。您会推荐哪个Windows程序来跟踪内存泄漏?我是Eclipse用户,现在我已经使用C语言一两个月了,所以我更喜欢用户友好的解决方案,而不是更高级的解决方案。 最佳答案 ApplicationVerifier会做得很好,http://msdn.microsoft.com/en-us/library/ms220948.aspx 关于c-在Windows上查找C代码中的

asp.net - 您如何在 ASP.NET 解决方案中调用物理上分离的 UI/BL 代码?

Chapter19:PhysicalTiersandDeploymentMSDN上描述了“分布式部署”(见图2)。一切都很好。根据我的经验,我们总是按照他们所描述的“非分布式部署”来部署基于Web的系统(图1)。我的理解是,在Microsoft世界中,作为独立事物的“应用程序服务器”并不真正存在(就像在Java世界中一样),因为它实际上已“嵌入”到操作系统/Windows中。所以我的问题是,如果您要将UI和业务逻辑(BL)分布到不同的服务器/层上,它们将如何通信?我知道一个答案是使用“服务层”——有哪些替代方案?你实际上会怎么做?从代码的角度来看它会是什么样子?

c++ - 从 Windows ffmpeg 0.52 迁移到 linux ffmpeg 0.61 代码错误。如何解决?

以前我在Windows上使用ffmpeg(我在某处找到的0.52版本)。现在我正在移植到linux和最新的ffmpeg。到目前为止,我在2行中有4个错误在这样简单的一行上:size=avpicture_get_size(pix_fmt,nWidth,nHeight);我得到:initializingargument1of‘intavpicture_get_size(PixelFormat,int,int)’C/C++Problem和invalidconversionfrom‘int’to‘PixelFormat’C/C++Problem在这么简单的线上avpicture_fill((A

c - 以下代码如何使 PC 发出蜂鸣声?

voidSound(intf){USHORTB=1193180/f;UCHARtemp=In_8(0x61);temp=temp|3;Out_8(0x61,temp);Out_8(0x43,0xB6);Out_8(0x42,B&0xF);Out_8(0x42,(B>>8)&0xF);}In_8/Out_8从指定端口读取/写入8位(实现细节省略)。它是如何让PC发出哔哔声的?更新这里为什么要用&0xF?不应该是0xFF吗? 最佳答案 PC有一个8255定时器芯片,使用端口0x61、0x43和0x42控制。当端口0x61位0设置为1时,

windows - 用于运行 R 代码的 CMD 批处理文件。如何选择不同版本的 R?

我有一段要定期运行的R代码。所以我使用CMD批处理文件来运行它。命令类似于:RCMDBATCH--vanilla--slave"/mylocalDir/myRcode.r"我的Windows中安装了不同版本的R。对于某些版本,安装了一些仅适用于该版本的特定软件包。因此,我需要在CMD命令中指定我需要运行的RI版本。我只是想知道如何指定它。或者我可以设置默认的R版本吗?谢谢! 最佳答案 我使用Windows任务计划程序解决了运行计划批处理作业的问题。您最新安装的R版本是默认版本。如果您想运行特定版本,请在您的调用中明确调用它,例如"C

windows - cmd.exe 启动时使用什么编码/代码页?

之前问过一个几乎相同的问题。回复中很好的解释了codepages,但是没有回答我心中的疑问:cmd.exe启动时使用的codepage由什么控制?在我的系统上,它以某种方式被改变了。在注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage中,有一项OEMCP设置为437。这似乎是重新启动后cmd.exe使用的CP(如chcp所示),但是后来有些东西改变了它,它在新的cmd.exe窗口中变成了1252。如果我用chcp将它更改为437,那只会影响当前的cmd.exe。当我退出并重新启动cmd.exe时,ch

c++ - 在 Windows 平台上为 c/c++ 代码生成调用图的工具?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Toolstogetapictorialfunctioncallgraphofcode我有一些c/c++代码。我想知道任何可用于在Windows平台上生成调用图、提供有关调用者等信息的工具。