何时使用内联函数以及何时不使用它?

我知道内联是一个提示或请求编译器,它用于避免函数调用的开销。 那么在什么基础上可以确定函数是否是内联的候选者? 在这种情况下,应该避免内联?

如何debugging堆损坏错误?

我在Visual Studio 2008下debugging了一个(本地)multithreadingC ++应用程序。在看似随意的场合,我得到一个“Windows引发了一个断点…”的错误,并注意到这可能是由于堆。 这些错误不会总是使应用程序崩溃,尽pipe它很可能会在之后崩溃。 这些错误的主要问题是,只有在实际发生了腐败之后才会popup,这使得它们非常难以跟踪和debugging,特别是在multithreading应用程序中。 什么样的事情会导致这些错误? 我如何debugging它们? 提示,工具,方法,启示…是受欢迎的。

AngularJS:$ evalAsync vs $ timeout

我已经使用AngularJS了一会儿,并发现需要每隔一段时间使用$超时 (似乎通常是初始化一个jQuery插件)。 最近,我一直在试图得到更好,更深入的理解周期的消化,我碰到$ evalAsync函数。 看来这个函数产生类似的结果$timeout ,只有你不给它延迟。 每次我使用$timeout它一直延迟0,所以现在我想知道如果我应该使用$evalAsync来代替。 两者之间有什么根本的区别? 你会使用哪一种呢? 我想得到什么时候使用哪一个更好的感觉。

C ++标准是否要求iostream的性能很差,或者我只是处理一个糟糕的实现?

每当我提到C ++标准库iostream的性能下降时,我都会有一阵怀疑的感觉。 然而,我的profiler结果显示在iostream库代码中花费了大量的时间(完全编译器优化),并且从iostreams切换到特定于OS的I / O API和自定义缓冲区pipe理确实给了一个数量级的改进。 C ++标准库在做什么额外的工作,这是标准所要求的,在实践中是否有用? 还是做一些编译器提供与手动缓冲区pipe理相竞争的iostream的实现? 基准 为了让问题得以解决,我写了一些简短的程序来实现iostream的内部缓冲: 把二进制数据放入ostringstream http://ideone.com/2PPYw 把二进制数据放入char[]缓冲区http://ideone.com/Ni5ct 使用back_inserter http://ideone.com/Mj2Fi将二进制数据放入一个vector<char> 新 : vector<char>简单迭代器http://ideone.com/9iitv 新增function :将二进制数据直接放入stringbuf http://ideone.com/qc9QA 新 : vector<char>简单的迭代器加边界检查http://ideone.com/YyrKy 请注意, ostringstream和stringbuf版本运行较less,因为它们速度较慢。 在ideone上, ostringstream比std:copy + back_inserter + std::vector慢大约3倍,比memcpy慢大约15倍。 当我将我的真实应用程序切换到自定义缓冲时,这与之前和之后的分析感觉一致。 这些都是内存中的缓冲区,所以iostreams的缓慢不能归咎于慢速磁盘I / O,太多的冲洗,与stdio同步,或任何其他的事情人们用来原谅慢C ++标准库iostream的。 能够看到其他系统的基准testing以及常见实现的评论(如gcc的libc ++,Visual C ++,Intel C ++)以及标准要求的开销是多less。 这个testing的基本原理 许多人正确地指出,iostream更常用于格式化输出。 但是,它们也是二进制文件访问的C ++标准提供的唯一现代API。 但是,对内部缓冲进行性能testing的真正原因适用于典型的格式化I / O:如果iostream不能保持磁盘控制器提供的原始数据,那么当它们负责格式化时,它们如何保持可用? 基准时间 所有这些都是外部( k )循环的迭代。 […]

SHA512与Blowfish和Bcrypt

我在看哈希algorithm,但无法find答案。 Bcrypt使用河豚 河豚比MD5好 问:但是Blowfish比SHA512更好吗? 谢谢.. 更新: 我想澄清一点,我明白哈希和encryption之间的区别。 是什么促使我以这种方式提出这个问题,本文作者将bcrypt称为“自适应哈希” https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2007/ 7月/够了,用最彩虹表,什么,你需要到专门关于安全密码的scheme/ 由于bcrypt基于Blowfish,所以我被认为Blowfish是一个哈希algorithm。 如果答案已经指出encryption,那么在我看来,这不应该在这篇文章中有一席之地。 更糟糕的是,他认为bcrypt是最好的。 现在让我困惑的是,phpass类(用于密码哈希algorithm)使用bcrypt(即blowfish,即encryption)。 基于这个新的信息,你们告诉我(河豚是encryption),这个class听起来不对。 我错过了什么吗?

基于Swift的应用程序在OS X 10.9 / iOS 7或更低版​​本上工作吗?

基于Swift的应用程序可以在OS X 10.9 (Mavericks)/ iOS 7或更低版​​本上运行吗? 例如,我有一台运行OS X 10.8 (Mountain Lion)的机器,我想知道如果我在Swift中编写的应用程序将运行在它上面。

如何符号化崩溃日志Xcode?

Xcode 5组织者有一个列出所有崩溃日志的视图。 我们可以在这里拖放崩溃日志。 但是自从Xcode 6以来,我知道他们已经把设备从组织中移走了,并为此创build了一个新的窗口。 但我没有find一个地方,我查看崩溃日志,我在Xcode 5中拖放到Xcode 6后,拖放到任何地方。任何人都知道答案?

如何在Django ModelForm中过滤ForeignKey选项?

假设我在models.py有以下内容: class Company(models.Model): name = … class Rate(models.Model): company = models.ForeignKey(Company) name = … class Client(models.Model): name = … company = models.ForeignKey(Company) base_rate = models.ForeignKey(Rate) 也就是说有多个Companies ,每个Companies有一系列的Rates和Clients 。 每个Client应该有一个从母公司的Rate中select的基本Rate ,而不是另一个Company's Rates 。 在创build添加Client的表单时,我想删除Company选项(因为已经通过Company页面上的“添加客户端”buttonselect了该选项),并限制该Company的Rate选项。 Django 1.0中如何解决这个问题? 我目前的forms.py文件目前只是样板文件: from models import * from django.forms import ModelForm class ClientForm(ModelForm): class Meta: model = Client views.py也是基本的: from django.shortcuts import […]

Java中使用Java SE API的简单HTTP服务器

有没有一种方法可以使用Java SE API在Java中创build非常基本的HTTP服务器(仅支持GET / POST),而无需编写代码手动分析HTTP请求并手动格式化HTTP响应? Java SE API很好地将HttpURLConnection中的HTTP客户端function封装起来,但有没有HTTP服务器function的模拟? 为了清楚起见,我在网上看到很多ServerSocket例子的问题是,他们自己做请求parsing/响应格式化和error handling,这是单调乏味的,容易出错的,不太可能是全面的,我试图避免这些原因。 作为我试图避免的手动HTTP操作的一个例子: http://java.sun.com/developer/technicalArticles/Networking/Webserver/WebServercode.html

我的应用程序是否“包含encryption”?

我第一次上传了一个二进制文件。 iTunes Connect问我: 出口法律要求包含encryption的产品应得到适当的出口授权。 不遵守可能会导致严重的处罚。 欲了解更多信息,请点击这里。 你的产品是否包含encryption? 我使用https:// ,但只能通过NSURLConnection和UIWebView 。 我的阅读是,我的应用程序不“包含encryption”,但我想知道这是否拼写出任何地方。 “严厉的惩罚”听起来并不令人愉快,所以“我认为这是正确的”有点粗略……权威的答案会更好。 谢谢。