草庐IT

目标值

全部标签

c++ - 为什么 .o(目标文件)链接速度比 .lib(静态库)快?

在我的工作场所,我们的产品编译成可执行文件,子项目链接为静态库(.lib)或共享库(.dll)。我们使用MicrosoftC++编译器。最近,我的一位同事将一个子项目目标从.lib(静态库)转换为.o(目标文件),并且该子项目的链接时间急剧减少。早些时候,.lib链接需要大约1.5分钟。通过链接到.o,链接时间几乎为5-6秒。为什么链接.lib比链接.o慢? 最佳答案 如果您所做的只是编译源代码以创建目标文件,那么您根本就没有执行链接。这意味着任何对源代码中存在的外部函数和变量的引用都不会起作用,因为它们的地址尚未解析。https:

windows - 如何编写批处理文件以从源复制到目标

我需要编写一个批处理文件以从源复制到目标。一旦用户输入源路径和目标路径,批处理文件就会将文件从源复制到目标。到目前为止我有set/psource=\PATH\TO\SOURCExcopy%source%"c:\PATH\TO\DESTINATION"/e/h/k/o但这只允许用户输入源路径。我还需要允许用户输入目标路径的代码。任何帮助是极大的赞赏。 最佳答案 做这样的事情:SET/PUSERSOURCE=Pleaseenterthesourcepath:SET/PUSERDEST=Pleaseenterthedestinationp

c# - 报告完成后共享目标契约(Contract)崩溃

我在Windows8商店应用程序中实现共享目标契约(Contract)时遇到问题。我正在共享目标中上传文件。点击我的分享按钮后,我开始:_shareArgs.ShareOperation.ReportStarted();_shareArgs.ShareOperation.ReportSubmittedBackgroundTask();跟着我们上传文件并等待他们的任务。之后我打电话:ShareOperation.ReportCompleted当我使用调度程序调用reportcompleted时,只要UI保持打开状态,共享协议(protocol)就不会抛出异常。没有调度程序它会崩溃:The

c# - 条件编译和框架目标

如果目标框架是较新的版本,我的项目的代码可能会在一些小地方得到显着改进。我希望能够更好地利用C#中的条件编译来根据需要切换它们。类似于:#ifNET40usingFooXX=Foo40;#elifNET35usingFooXX=Foo35;#elseNET20usingFooXX=Foo20;#endif这些符号中的任何一个都是免费的吗?我是否需要将这些符号作为项目配置的一部分注入(inject)?这似乎很容易做到,因为我会知道MSBuild的目标是哪个框架。/p:DefineConstants="NET40"人们如何处理这种情况?您要创建不同的配置吗?您是否通过命令行传递常量?

c++ - 使用 CMake 以 C++/WinRT 为目标

我正在编译一个基于CMake的第三方C++共享库,以便在UWP应用程序中使用。根据MSDN上的文档,我一直在使用标志-DCMAKE_SYSTEM_NAME=WindowsStore-DCMAKE_SYSTEM_VERSION=10.0进行构建。虽然这对于标记任何不允许或不可用的API非常有用,但我的理解是它设置了/ZW标志,从而启用C++/CX。除了一些小问题(例如:库处理网络,并使用变量名称interface显然是C++/CX的保留关键字),这大部分都很好。更根本的是,由于我正在构建标准C++库,所以我宁愿使用标准C++(C++/WinRT)。有没有办法告诉CMake以Windows

python - 在 win32 中读取符号链接(symbolic link)/连接点的目标(通过 Python)

任务及背景:在win32平台中创建、回读、删除指向目录的链接(截至目前)。我的python代码中遵循的方法是按顺序一种。尝试创建真正的符号链接(symboliclink),如果支持(通过mklinkcmd)b.如果不受支持,回退到创建连接点,如果它受支持(通过linkdcmd)阅读和删除遵循相同的方法。问题:符号链接(symboliclink)和juncpt的创建和删除都很简单,但我不知道如何读取目标,即指向目录。进度:一种。对于连接点,我可以使用“linkd”并以丑陋的方式解析标准输出以获取目标目录。b.对于符号链接(symboliclink),似乎没有这样的解决方案。C。我看到py

c# - 是否可以在不将源移动到目标的情况下在 C# 中进行拖放?

我想知道在UI设计领域是否存在这样的情况,即您将一个TreeList的项目拖放到另一个TreeList项目上只是为了调用一个新窗口(以执行某些功能)但实际上并没有移动源并将其放下到目标上。我有这个要求,但我不确定它是否有意义。我以为树List中的DragandDrop只是将一个项目移动到树的另一个分支,而不是触发弹出。我错了吗?我目前看到的例子,都是将源移动到目标。 最佳答案 拖放基本上是一组被触发的事件。您的代码可以使用Drop事件来执行任何操作。因此,完全有可能在放置时触发弹出窗口。阅读此http://msdn.microsof

windows - 确定远程连接目标的代码

Windows7/NTFS及更高版本同时具有符号链接(symboliclink)和连接点,它们有细微的不同。(参见this一组优秀的帖子)。为了记录(和调试)目的,我需要能够解析远程文件服务器上的联结目标。有一些posts关于这个主题,但它们适用于解析本地机器看到的联结。在\\FileServer上,我们有一个目录G:\Shared被共享为PublicShare,所以它出现在网络上作为\\FileServer\PublicShare。该目录中有子目录G:\Shared\SubDir1和G:\Shared\SubDir2。该目录中还有一个连接G:\Shared\Junc,它指向G:\Sh

c++ - 为什么在 C++ 中使用 shell 链接查找快捷方式的目标路径时它指的是 windows\installer 文件夹

我想在开始菜单文件夹中找到快捷方式的目标路径,我知道应该使用fromshelllinkcomponentobjectmodel,但在我对一些快捷方式的测试中,它显示:"windows\installer\{guid}\x.exe"不显示它的程序文件文件夹,并且对于其他快捷方式工作正常,我怎样才能找到这些产品的目标路径。这是我使用的函数:HRESULTTargetShortcut::ResolveIt(HWNDhwnd,LPCTSTRlpszLinkFile,LPTSTRlpszPath,intiPathBufferSize){HRESULThres;if(lpszPath==NULL)

windows - 如何在 64 位 Windows 计算机上链接 32 位 Nasm 汇编目标代码

我从http://www.dreamincode.net/forums/topic/328714-my-program-keeps-crashing/中找到了以下代码.globalstart;~msvcrt.dllextern_printf%defineprintf_printf;~kernel32.dllexternExitProcess,GetCommandLineW,LocalFree%defineGetCommandLineGetCommandLineW;~shell32.dllexternCommandLineToArgvW%defineCommandLineToArgvCo