GCC编译(使用gcc --omit-frame-pointer -s):
int the_answer() { return 42; }
Run Code Online (Sandbox Code Playgroud)
成
.Text
.globl _the_answer
_the_answer:
subl $12, %esp
movl $42, %eax
addl $12, %esp
ret
.subsections_via_symbols
Run Code Online (Sandbox Code Playgroud)
什么是'$ 12'常数在这里做什么,'%esp'寄存器是什么?
通过Linux或Solaris等Unix方言开发时,Windows/Microsoft作为平台可以获得任何技术优势吗?
我知道公司有时会选择微软,因为根本没有足够的程序员可以了解Unix,或者这些程序员的聘用成本要高得多.
因此,假设所有开发人员同样熟悉Unix和Microsoft,那么您是否还有更好的在Windows中开发的情况?
我有一个页面,里面有一个"标签"列表,就像在这里一样,当鼠标悬停在它上面时,它会变暗.
它适用于Ie7,8,FF,Chrome,Safari等...但IE6有一个错误,当a:触发悬停时.
错误是包含那些(ul li a)的div会增加高度.
我有的CSS是:
div.options ul.tags li a:hover
{
background-color: #D5E4A5;
}
Run Code Online (Sandbox Code Playgroud)
如果我删除这个样式或只是评论"background-color:#D5E4A5;" 它不会发生......
任何想法如何解决它?
谢谢!
编辑:这是错误的屏幕截图:
你认为单元测试是向你的程序员展示如何使用API的好方法吗?
本周我正在收听Stackoverflow播客,我现在意识到单元测试在所有情况下都不合适(IE如果你要100%代码覆盖,它可能会花费你的时间).我同意这一点,因为我曾经遭受过"OCD代码覆盖障碍",现在已经修复了我的方法.
然而,为了进一步理解我对该主题的了解,我想知道单元测试是否是引入不熟悉项目API的新程序员的好方法.(这肯定比编写文档更容易......虽然我喜欢它以后的文档......)
我C编码的一个程序,用printf将消息发送到标准输出和我无法将输出重定向到一个文件(从bash中运行).
我试过了:
./program argument >> program.out
./program argument > program.out
./program >> program.out argument
./program > program.out argument
Run Code Online (Sandbox Code Playgroud)
在每种情况下,都会创建文件program.out但它仍然为空.执行结束后,文件大小为0.
如果我在执行程序时省略重定向:
./program argument
Run Code Online (Sandbox Code Playgroud)
然后,使用printf发送到stdout的所有消息都显示在终端中.
我有其他C程序,我没有问题以这种方式重定向输出.它与程序本身有关吗?与论点传递?应该在哪里寻找问题?
关于C程序的一些细节:
一些代码:
int main(int argc, char** argv)
{
printf("Execution started\n");
do
{
/* lots of printf here */
} while (1);
/* Code never reached */
pthread_exit(EXIT_SUCCESS);
}
Run Code Online (Sandbox Code Playgroud) 我正在开发一个Rails应用程序,它将通过Rails的ActiveResource功能作为其他Rails应用程序的身份验证系统.
身份验证应用程序具有一个名为的ActiveRecord模型User.客户端应用程序有一个名为的ActiveResource模型User.我知道在客户端应用程序中我可以做类似的事情user.save,它将使用XML over HTTP执行PUT操作.
但是,如果我想要放入我的客户端应用程序的User模型has_many :contacts或类似的东西(contacts在客户端应用程序中作为ActiveRecord模型)怎么办?然后我想做一些事情,比如获得所有Contact属于某些人的东西User.
那可能吗?
(我注意到有人提出了类似的问题,但答案并不多.)
我与之合作的开发人员有一些关于我感兴趣的评论的话题(见下文).您的个人做法/评论意见是什么?
"我不会在代码中添加注释,除非它是一个简单的标题,或者存在
平台错误或必要的解决方案,这是不明显的.代码可能会改变,注释可能会产生误导.代码应该
在使用时自我记录描述性的名称和其逻辑
的组织-和其解决方案应该是干净的/最简单的方法
,完成既定任务如果程序员不知道程序是什么
呢只阅读代码,那么他不准备改变它.
评论往往是写一些复杂
或非显而易见的东西- 我的目标是始终编写简洁明了的代码.""我认为在评论方面存在一些阵营,那些认为他们正在编写API的企业级人员和一些将在未来几代使用的宏大代码库,这位工匠般的程序员认为代码说的是什么它比评论更清晰,并且新手编写详细/不清楚的代码,以便需要给自己留下笔记,告诉他们为什么要做某事."
想象一下CoreData实体(例如命名searchEngine).
NSManagedObjectContext管理该实体的一些"实例".
最终用户将能够选择他"standard searchEngine"的NSPopupButton.
该selected objectNSPopupButton应绑定到的NSUserDefaults的.
问题:
1)@try {}保存
a)如果您尝试将选定的"实例"直接保存到NSUserDefaults,则会出现以下情况:-[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value ' (entity: searchEngine; id: 0x156f60 ; data: { url = "http://google.de/"; someAttribute = 1; name = "google"; })' of class 'searchEngine'.
b)如果您尝试将"实例"转换为NSData,请执行以下操作:-[searchEngine encodeWithCoder:]: unrecognized selector sent to instance 0x1a25b0那么任何想法如何在plist兼容的数据中获得这些实体?
2)@try {} registerDefaults通常该
registerDefaults:方法是在+ (void)initialize.这里的问题是在CoreData从其数据库加载保存的实体之前调用此方法.所以我不能将默认设置为不存在的对象,对吧?
我知道,很长的问题......但是:试试{[我提供:详情]}; D.
我有一个大纲视图委托,并覆盖outlineView:dataCellForTableColumn:item:使我的大纲视图中的单元格成为按钮(请参阅此问题).这是我的代表的代码形式:
- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item;
{
MyCell * myCell = [[MyCell alloc] init];
// return nil;
return myCell;
}
Run Code Online (Sandbox Code Playgroud)
这样做有一个奇怪的副作用.在我的大纲视图的数据源中,方法outlineView:objectValueForTableColumn:byItem:始终为tableColumn获取空值.
代码是:
- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
{
printf("tableColumn:%s\ttable identifier: %s\n", [[tableColumn className] cString], [[tableColumn identifier] cString]);
return [item valueForKey:[tableColumn identifier]];
}
Run Code Online (Sandbox Code Playgroud)
输出是:
tableColumn:(null) table identifier: (null)
Run Code Online (Sandbox Code Playgroud)
奇怪的是,只有在我实现outlineView:dataCellForTableColumn:item:方法时才会发生这种情况.我在这里错过了什么?
编辑:
像这样修改委托函数似乎可以解决问题:
- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item;
{
printf("delegate column identifier: %s\n", [[tableColumn identifier] cStringUsingEncoding:NSASCIIStringEncoding]);
if (tableColumn == nil)
{
return nil;
}
MyCell * …Run Code Online (Sandbox Code Playgroud) 我们如何提取浮点数的小数部分并将小数部分和整数部分存储到两个单独的整数变量中?