我正在寻找一种方法来访问执行MSBuild时定义的所有Build属性.我有一个配置文件.我想修改配置文件中的属性并将其复制到新位置.有办法吗?
这是一个面试问题.我说他们是一样的,但这被判定为不正确的回应.从汇编程序的角度来看,有什么可以想象的区别吗?我使用默认的gcc优化和-S编译了两个简短的C程序来查看汇编程序输出,它们是相同的.
c compiler-construction assembly compilation compiler-optimization
我最近在接受采访时被问到这个问题:
"如何在不使用任何库函数的情况下将"12345"形式的字符串解析为其整数表示12345,而不管语言是什么?
我想到了两个答案,但面试官说有三分之一.这是我的两个解决方案:
解决方案1:保留一个映射'1'=> 1,'2'=> 2等的字典.然后一次解析一个字符,查找字典中的字符,然后乘以位值.总结结果.
解决方案2:一次解析一个字符串,并从每个字符中减去"0".这将给你'1' - '0'= 0x1,'2' - '0'= 0x2等.再次,乘以位值并对结果求和.
任何人都可以想到第三种解决方案可能是什么?
谢谢.
我创建了一个这样的上下文(简化):
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate (bitmapData,
pixWide,
pixHeigh,
8, // bits per component
bitmapBytesPerRow,
colorSpace,
kCGImageAlphaPremultipliedFirst);
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试使用Alphatransparency为我的PNG中的第一个像素提取数据时,它有非常奇怪的alpha值.我有一个简单的PNG,它是一个正方形.在每个边缘上,我切掉了10x10像素,使它们完全透明.阿尔法不应该像153那样.
在CGImage.h中声明了一个kCGImageAlphaOnly.医生说:
kCGImageAlphaOnly没有颜色数据,只有alpha通道.
好吧,这实际上听起来不错,因为我只需要Alpha数据,而不需要其他任何东西.但这引起了我脑海中的一些问号.如果我有一个装备齐全的PNG,有一堆颜色+ alpha:这是否会确保我的PNG转换为匹配该颜色空间?或者我是否必须提供与指定颜色空间匹配的PNG?
编辑:我尝试使用kCGImageAlphaOnly,但是我收到此错误:
<Error>: CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 24 bits/pixel; 0-component colorspace; kCGImageAlphaOnly; 55 bytes/row.
Run Code Online (Sandbox Code Playgroud)
这可能是什么问题?我之前指定了这个:
size_t pixelsWide = CGImageGetWidth(inImage);
size_t pixelsHigh = CGImageGetHeight(inImage);
bitmapBytesPerRow = (pixelsWide * 1); // not * 4, because I just want alpha
bitmapByteCount = (bitmapBytesPerRow * pixelsHigh);
Run Code Online (Sandbox Code Playgroud)
编辑:我一分钟前读过这篇文章:
添加到XCode的PNG在编译期间通过'pngcrush'进行优化.这会进行一些字节交换(从RGBA到BRGA)和alpha的预乘.
我认为这种alpha的预乘会会带来麻烦.
编辑:在pngcrunch对PNG进行字节交换之后,alpha通道保持不变.因为我不关心颜色,只是alpha,我认为预乘不应该是一个太大的问题.
我的PNG已经是24位PNG,我将它们添加到Xcode中.
当我读到这个问题时,我记得有人告诉过我(多年前),从装配者的角度来看,这两个操作是非常不同的:
n = 0;
n = n - n;
Run Code Online (Sandbox Code Playgroud)
这是真的,如果是的话,为什么会这样呢?
编辑:正如一些回复所指出的,我想这对于编译器优化到同一个东西来说相当容易.但我觉得有趣的是,如果编译器采用完全通用的方法,它们会有所不同.
我想使用Windows 7 +英特尔SSD驱动器来加速我的Visual Studio 2008开发周期.
我想加快的领域是:
我对Visual Studio的启动时间不感兴趣.每GB的成本也不是问题.我想要速度.
有谁试过这个(SSD驱动器+ Visual Studio)已经有什么可以讲述加速/减速?
我知道关于固态硬盘的理论,但通常布丁的证据就在于吃.所以我对实际尝试并测试了使用SSD的Visual Studio设置的人感兴趣...
在我的代码中,我需要循环遍历GroupBox中的控件并仅在它是ComboBox时处理控件.我正在使用代码:
foreach (System.Windows.Forms.Control grpbxChild in this.gpbx.Controls)
{
if (grpbxChild.GetType().Name.Trim() == "ComboBox")
{
// Process here
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:不是循环遍历所有控件而只处理组合框,而只能从GroupBox中获取组合框?像这样的东西:
foreach (System.Windows.Forms.Control grpbxChild in this.gpbx.Controls.GetControlsOfType(ComboBox))
{
// Process here
}
Run Code Online (Sandbox Code Playgroud) 理想情况下,我只需要一个简单的SSLSocketChannel.
我已经有一个组件可以读取和写入普通的消息SocketChannel,但对于其中一些连接,我必须通过线路使用SSL; 但是,这些连接上的操作是相同的.
有没有人知道一个免费的SSLSocketChannel实现(使用适当的选择器)或类似的东西?我发现了这个,但选择器不接受它,因为它的供应商不是SUN.
我正在通过一个简单的对象将read_from/writing_to网络逻辑与网络数据的插入和检索分离,以便使用SSLEngine而不会生气,但考虑到我不知道的事实,实现它是非常棘手的SSL协议的内部......