我有一个配置文件,我认为是我的"基础"配置.我想将最多10个其他配置文件与该单个基本文件进行比较.我正在寻找一个报告,其中每个文件与基本文件进行比较.
我一直在看diff和sdiff,但他们没有完全提供我想要的东西.
我已经考虑过单独针对每个文件区分基础,但是我的问题会变成合并到报告中.理想情况下,如果所有10个配置文件中都缺少相同的行(与基本配置相比),我希望以易于可视化的方式报告.例如,这里基本上是我希望能够做到的(这个例子有1个基本文件和3个配置文件,每个文件分别与基本配置进行比较):
这是下面图片的链接 alt text http://img141.imageshack.us/img141/3264/config2.png
请注意,在几个配置文件中缺少某些行(当与基础单独进行比较时).我希望能够把它们放在同一条线上(如上所述).
请注意,上面的屏幕截图只是一个模型,而不是一个实际的应用程序.
我已经看过使用一些Delphi控件来编写我自己的(我有Delphi 2007),但是如果有一个程序已经这样做了,我更喜欢它.
我看过的Delphi控件是TDiff,rmcontrols中包含TrmDiff*组件.
我已经决定使用C++进行本机代码开发.我正在尝试使用CodeGear C++ Builder 2009或Visual Studio 2008来更好地服务.我目前使用的是Delphi 2007,因此我对C++ Builder的IDE(与Delphi相同)非常熟悉,以及VCL和RTL.
我从未成为MFC的忠实粉丝(从我第一次在VS 6.0中玩过它),但从那时起就没有仔细看过它.
我有兴趣听取一些有IDE经验的专家的意见,无论他们是否是最新版本.
现在,我倾向于使用C++ Builder,因为我相信VCL比MFC更强大,更容易使用 - 但正如我所说,自从我使用MFC以来已经有一段时间了.我对构建依赖于.NET Framework的程序不感兴趣,因为我部分地教自己本地开发.MFC仍然是Windows C++的王者吗?或者WTL或ATL是重要的东西?
那里的任何C++大师想分享他们的意见吗?
编辑:我知道MFC不是Visual Studio唯一的gui工具包.但是,我正在寻找基于GUI工具包+ IDE的一些建议.对于C++ Builder,只有一个真正的选项,即C++ Builder + VCL.对于VS 2008,它是VS + MFC/ATL/WTL/QT ......因为我对它们不太了解而对我感到困惑.
甚至Delphi 2010与TBitBtn相关的字形也不稳定且"丑陋".是否存在向后兼容的原因?Embarcadero是否包含我可以使用的更新的png替换而不是这些正常的字形?
也许这只是我,但我很想看到Embarcadero征求(或雇用)平面设计师来改善这些图标.

我使用的是PHP 5.3.
在我的32位系统上INT的大小:
print "PHP_INT_MAX: " . PHP_INT_MAX . "\n";
print "PHP_INT_SIZE: " . PHP_INT_SIZE . " bytes (" . (PHP_INT_SIZE * 8) . " bits)\n";
Run Code Online (Sandbox Code Playgroud)
但是,我使用的编码算法的一部分依赖于int是上述大小(4个字节)的事实.当我在我的Web主机服务器上运行代码时,它是一个64位系统,int大小是两倍大.
有没有办法强制"(int)"强制转换使用32位大小?
例如,假设以下代码:
$test = 4170266799;
print $test;
print (int) $test;
Run Code Online (Sandbox Code Playgroud)
在我的32位系统上,输出是:
4170266799
-124700497
Run Code Online (Sandbox Code Playgroud)
在我的64位系统上,输出是:
4170266799
4170266799
Run Code Online (Sandbox Code Playgroud)
即使架构从32位更改为64位,是否可以强制INT的值为4个字节?
它比使用getopt()解析C/C++中的命令行参数要容易得多.
Delphi有类似的东西吗?或者理想情况下,使用相同的语法?我知道Delphi支持FindCmdLineSwitch和ParamStr(),但那些仍然需要一些额外的解析.
我想要一些像C语言中的getopt()一样的东西.它可以轻松地允许基本的切换开关,以及在切换后捕获值.请参阅下面的一些示例C代码,看看我在说什么:
void print_help()
{
printf("usage:\n") ;
printf("\t\t-i set input file\n") ;
printf("\t\t-o set output file\n") ;
printf("\t\t-c set config file\n") ;
printf("\t\t-h print this help information\n") ;
printf("\t\t-v print version\n") ;
}
char* input_file = NULL ;
char *query=NULL;
char opt_char=0;
while ((opt_char = getopt(argc, argv, "i:q:vh")) != -1)
{
switch(opt_char)
{
case 'h':
print_help();
exit(-1);
break;
case 'v':
print_version() ;
exit(-1) ;
break ;
case 'i':
input_file= optarg ;
break ;
case 'q':
query= optarg ;
break …Run Code Online (Sandbox Code Playgroud) 我正在使用Delphi 2010,当我创建一个打印"Hello World"的控制台应用程序时,需要111 kb.如果我想用Delphi查询WMI,我将WBEMScripting_TLB,ActiveX和Variants单元添加到我的项目中.如果我执行简单的WMI查询,我的可执行文件大小会跳到810 kb.一世
反正有没有查询WMI没有这么大的文件大小?原谅我的无知,但为什么我没有C++的这个问题?
这是我的代码:
program WMITest;
{$APPTYPE CONSOLE}
uses
SysUtils,
WBEMScripting_TLB,
ActiveX,
Variants;
function GetWMIstring(wmiHost, root, wmiClass, wmiProperty: string): string;
var
Services: ISWbemServices;
SObject: ISWbemObject;
ObjSet: ISWbemObjectSet;
SProp: ISWbemProperty;
Enum: IEnumVariant;
Value: Cardinal;
TempObj: OLEVariant;
loc: TSWbemLocator;
SN: string;
i: integer;
begin
Result := '';
i := 0;
try
loc := TSWbemLocator.Create(nil);
Services := Loc.ConnectServer(wmiHost, root {'root\cimv2'}, '', '', '', '',
0, nil);
ObjSet := Services.ExecQuery('SELECT * FROM ' + wmiClass, 'WQL',
wbemFlagReturnImmediately and wbemFlagForwardOnly, nil);
Enum …Run Code Online (Sandbox Code Playgroud) 我正在对我没有源代码的iOS应用程序进行审核.为了获得对环境的更多控制,我在越狱的iPad上运行应用程序.
我希望能够监控应用程序正在进行的API调用...理想情况下,我想找到类似Rohitab的基于MS Windows的API监视器,而不是iOS.
我做了一些研究,发现KennyTM的一个名为" Subjective-C " 的项目似乎可以做我需要的.我实际上一直在使用cycript脚本,以及Google代码站点上提供的libsubjc.dylib.
但是,我一直无法弄清楚如何正确地让它开始记录应用程序的调用.这是由 Subjective-C(libsubjc)的作者编写的cycript脚本的链接.我也粘贴了下面的脚本.
/*
libsubjc.cy ... Use libsubjc in cycript.
Copyright (C) 2009 KennyTM~ <kennytm@gmail.com>
[...GPL3...]
*/
dlopen("libsubjc.dylib", 10);
if (!dlfun) {
function dlfun(fn, encoding, altname) { var f = new Functor(dlsym(RTLD_DEFAULT, fn), encoding); if (f) this[altname || fn] = f; return f; }
}
dlfun("SubjC_start", "v");
dlfun("SubjC_end", "v");
dlfun("SubjC_set_file", "v^{sFILE=}");
dlfun("SubjC_set_maximum_depth", "vI");
dlfun("SubjC_set_print_arguments", "vB");
dlfun("SubjC_set_print_return_value", "vB");
dlfun("SubjC_set_print_timestamp", "vB");
SubjC_Deny = 0, SubjC_Allow …Run Code Online (Sandbox Code Playgroud) 根据这个MSDN页面:
WOW64使32位应用程序能够利用64位内核.因此,32位应用程序可以使用更多的内核句柄和窗口句柄.但是,32位应用程序可能无法在WOW64下创建与在基于x86的系统上本机运行时一样多的线程,因为WOW64为每个线程分配了额外的64位堆栈(通常为512 KB).此外,为WOW64本身及其使用的数据结构保留了一定量的地址空间.保留金额取决于处理器; Intel Itanium上保留的内容多于x64处理器上的内容.
如果应用程序在映像头中设置了IMAGE_FILE_LARGE_ADDRESS_AWARE标志,则每个32位应用程序在WOW64环境中都会收到4 GB的虚拟地址空间.如果未设置IMAGE_FILE_LARGE_ADDRESS_AWARE标志,则每个32位应用程序在WOW64环境中接收2 GB的虚拟地址空间.
如何有效地设置IMAGE_FILE_LARGE_ADDRESS_AWARE国旗在我的2007年德尔福的应用程序,这样我可以让我的32位应用程序WOW64 认识和处理多达内存4GB满?
我需要使用Delphi将多个文件压缩到一个存档中.我更喜欢使用免费软件组件或开源组件,因为我非常便宜:-)
我的主要要求是:
有没有人对他们使用过的组件有什么建议?请随时建议免费和商业组件/库.
我有一个拥有Ruby背景的同事,有兴趣开始使用Delphi和本地开发.但是,据我所知,Turbo Delphi(基于Delphi 2006)已不再可供下载.
那么......他离开了哪里?在某处合法提供Delphi的低成本或介绍版本吗?或者Embarcadero有没有提供的产品?
注意:请不要建议任何合法可疑版本,因为这不是我们会考虑的选项.
更新:总结所有答案,您可以立即下载和安装的唯一合法和免费版Delphi(除非您已经拥有Delphi 7 Personal或Turbo Delphi的个人许可)是Delphi Community Edition.
接下来最接近的是Lazarus IDE和Free-Pascal编译器.
delphi ×7
32-bit ×1
64-bit ×1
c ×1
c++ ×1
c++builder ×1
com ×1
compression ×1
cydia ×1
diff ×1
freepascal ×1
int ×1
ios ×1
jailbreak ×1
lazarus ×1
objective-c ×1
parsing ×1
php ×1
wmi ×1