长版......
一位同事在看到我while (1)
在Perl脚本中使用for (;;)
更快后断言了.我认为他们应该是一样的,希望翻译能够优化任何差异.我设置了一个脚本,它将运行1,000,000,000次循环迭代和相同数量的while循环并记录它们之间的时间.我找不到明显的区别.我的同事说,一位教授告诉他,这while (1)
是在进行比较1 == 1
而事实for (;;)
并非如此.我们用100倍的C++迭代次数重复相同的测试,差异可以忽略不计.然而,它是一个图形示例,说明编译代码与脚本语言相比可以更快.
精简版...
没有任何理由,更喜欢一个while (1)
比一个for (;;)
,如果你需要一个无限循环打出来的?
注意:如果问题不清楚.这在几个朋友之间纯粹是一次有趣的学术讨论.我知道这不是一个超级重要的概念,所有程序员都应该为之痛苦.感谢所有伟大的答案我(我相信其他人)从这次讨论中学到了一些东西.
更新:前面提到的同事在下面做出回应.
这里引用以防它被埋没.
它来自AMD汇编程序员.他说C程序员(人们)没有意识到他们的代码效率低下.他今天说,gcc编译器非常好,让像他这样的人破产.他举例称,并告诉我关于
while 1
VSfor(;;)
.我现在出于习惯而使用它,但是gcc和特别是解释器在这些日子里都会做同样的操作(处理器跳转),因为它们已经过优化.
是否可以git merge
忽略行尾差异?
也许我问的是错误的问题......但是:
我试过了,config.crlf input
但事情变得有点乱,失控,特别是当我在事后应用它时.
首先,在应用此选项之前,在事实之后应用此配置似乎不会影响已提交到存储库的文件.另一件事是突然所有提交现在导致许多关于CRLF被转换为LF的恼人警告消息.
说实话,我真的不在乎使用什么行结尾,我个人更喜欢Unix风格\n
,但无论如何.我所关心的只是为了git merge
变得更聪明,而忽略了行尾的差异.
有时我有两个相同的文件,但是git会将它们标记为冲突(并且冲突是整个文件),因为它们使用不同的行结束字符.
我发现git diff
接受一个--ignore-space-at-eol
选项,是否也可以git merge
使用此选项?
我有一个样式表从外部域加载图像,我需要它从https://从安全订单页面加载http://从其他页面加载,基于当前的URL.我发现使用双斜杠启动URL会继承当前协议.所有浏览器都支持这种技术吗?
html ex:
<img src="//cdn.domain.com/logo.png" />
Run Code Online (Sandbox Code Playgroud)
css ex:
.class { background: url(//cdn.domain.com/logo.png); }
Run Code Online (Sandbox Code Playgroud) 各种HTTP 3XX重定向代码之间的差异对我来说并不清楚.是的,我已经阅读了规范,但这里的标准和实际做法之间似乎存在一些差异.
该301
重定向代码似乎很清楚:这意味着资源已被永久移动到另一个URI,以及将来的请求应使用URI.
并且307
重定向代码似乎也很清楚:这意味着重定向是临时的,未来的请求仍然应该使用原始URI.
但我不能告诉区别是什么之间302
和303
,或者为什么他们中有谁真正从不同的301
.它似乎302
本来是一个临时重定向,(比如307
),但在实践中,大多数浏览器都把它当成了一个303
.但是a 303
和a 之间有什么区别301
?是301
应该意味着重定向是更永久的吗?
我正在尝试打印类似off_t
和size_t
.什么是正确的占位符printf()
是可移植的?
或者是否有完全不同的方式来打印这些变量?
我想从字符串中提取变量的第一个单词.例如,请输入以下内容:
<?php $myvalue = 'Test me more'; ?>
Run Code Online (Sandbox Code Playgroud)
结果输出应该是Test
输入的第一个字.我怎样才能做到这一点?
我很好奇如何删除git中的第一个提交.
在做出任何事情之前的修改是什么?此修订版是否有名称或标记?
我在使用JQuery Ajax请求的Internet Explorer缓存结果时遇到了严重问题.
我的网页上有标题,每次用户导航到新页面时都会更新.页面加载后,我这样做
$.get("/game/getpuzzleinfo", null, function(data, status) {
var content = "<h1>Wikipedia Maze</h1>";
content += "<p class='endtopic'>Looking for <span><a title='Opens the topic you are looking for in a separate tab or window' href='" + data.EndTopicUrl + "' target='_blank'>" + data.EndTopic + "<a/></span></p>";
content += "<p class='step'>Step <span>" + data.StepCount + "</span></p>";
content += "<p class='level'>Level <span>" + data.PuzzleLevel.toString() + "</span></p>";
content += "<p class='startover'><a href='/game/start/" + data.PuzzleId.toString() + "'>Start Over</a></p>";
$("#wikiheader").append(content);
}, "json");
Run Code Online (Sandbox Code Playgroud)
它只是将页眉信息注入页面.您可以访问www.wikipediamaze.com查看,然后登录并开始新的拼图.
在每一个浏览器我测试过(谷歌Chrome,火狐,Safari,IE浏览器),它的伟大工程,除了在IE中.Eveything …
仅仅因为函数是第一类对象,有闭包和高阶函数,Javascript是否应该被称为函数式编程语言?我认为它缺少的主要功能是纯函数,并且它不像其他函数式语言那样"感觉",比如lisp(虽然这不是一个很好的理由,它不是一个功能性的语言......)
git ×2
http ×2
javascript ×2
ajax ×1
asp.net ×1
c ×1
c++ ×1
commit ×1
ecmascript-6 ×1
eol ×1
extract ×1
function ×1
git-commit ×1
git-svn ×1
https ×1
jquery ×1
line-endings ×1
merge ×1
optimization ×1
performance ×1
perl ×1
php ×1
portability ×1
redirect ×1
repository ×1
return ×1
string ×1
terminology ×1
uri ×1
url ×1
url-protocol ×1