我一直在用Python捣乱,我收集到它通常更好(或'pythonic')使用
for x in SomeArray:
Run Code Online (Sandbox Code Playgroud)
而不是更多的C风格
for i in range(0, len(SomeArray)):
Run Code Online (Sandbox Code Playgroud)
我确实看到了这方面的好处,主要是更清晰的代码,以及使用漂亮map()和相关功能的能力.但是,我经常遇到这样的情况:我想同时访问数组中不同偏移的元素.例如,我可能想要将当前元素添加到元素后面两步.有没有办法在不诉诸显式指数的情况下做到这一点?
我最近在应用程序中遇到了我认为是错误共享的问题,我查阅了Sutter关于如何将数据与缓存行对齐的文章.他建议使用以下C++代码:
// C++ (using C++0x alignment syntax)
template<typename T>
struct cache_line_storage {
[[ align(CACHE_LINE_SIZE) ]] T data;
char pad[ CACHE_LINE_SIZE > sizeof(T)
? CACHE_LINE_SIZE - sizeof(T)
: 1 ];
};
Run Code Online (Sandbox Code Playgroud)
我可以看到当这CACHE_LINE_SIZE > sizeof(T)是真的时它会如何工作- 结构cache_line_storage最终会占用一个完整的内存缓存行.但是,当sizeof(T)大于单个缓存行时,我认为我们应该按CACHE_LINE_SIZE - T % CACHE_LINE_SIZE字节填充数据,以便生成的结构的大小是缓存行大小的整数倍.我的理解有什么问题?为什么填充1个字节就足够了?
我试图使用mechanize在网站上解析并提交表单,但看起来内置表单解析器无法检测表单及其元素.我怀疑它在形成不良的HTML上很窒息,我想尝试使用一个解析器进行预解析,该解析器更好地设计用于处理错误的HTML(例如lxml或BeautifulSoup),然后将经过修饰的清理输出提供给表单解析器.我需要机械化不仅用于提交表单而且用于维护会话(我在登录会话中使用此表单.)
我不确定如何做到这一点,如果它确实可能..我不熟悉HTTP协议的各种细节,如何让各个部分一起工作等等.任何指针?
我花了几天时间阅读有关C++和Python的内容,我发现Python更简单易学.
所以我想知道真的值得花时间学习它吗?或者我应该花时间学习C++?
C++可以做什么而Python不能做什么?
我正在寻找有关数据/音频/视频压缩的一些理论,并很乐意得到一些建议.在线和打印资源都很好.
如果在函数中定义了互斥锁,它的锁是否适用于从该函数调用的函数?即
void f () {
Mutex mutex;
g();
}
Run Code Online (Sandbox Code Playgroud)
锁仍然适用于g()中的任何数据修改吗?
另外,我是否正确地说,类方法中定义的锁只适用于该类的特定实例?含义:
Class Foo;
Foo foo1, foo2;
(In thread 1) foo1.bar();
(In thread 2) foo2.bar();
Run Code Online (Sandbox Code Playgroud)
每个电话会同时发生吗?
如果有人可以解释/指出解释互斥体背后机制的链接,那将是一个很好的奖励.谢谢!我目前正在使用Qt Thread库,如果该信息有帮助的话.
我刚刚开始修补ASM,我不确定我对程序调用的理解是否正确.
在代码中的某个时刻说有一个过程调用
call dword ptr[123]
Run Code Online (Sandbox Code Playgroud)
并且该过程只包含一个命令,ret:
ret 0004
Run Code Online (Sandbox Code Playgroud)
这个过程调用会产生什么影响,返回值将存储在何处?我在某处读到了一个2字节的返回值将存储在AX中,但当我替换过程调用时
mov AX, 0004
Run Code Online (Sandbox Code Playgroud)
(连同必要的NOP)程序崩溃.
我试图找出在Visual C++中使用什么形式的别名分析.它也被称为指针分析,模型参考分析,点到分析或副作用分析,并且非常接近逃逸分析或形状分析(如果您已经看到这些术语被绑定).
如果有人知道MSDN讨论这种事情的地方,我可能会从那里找到我的方式.(我尝试过搜索,但如果你没有在那里花太多时间,MSDN似乎是难以理解的.)
compiler-construction optimization static-analysis pointer-aliasing visual-c++
我刚开始学习jQuery和AJAX.我可以将本地页面(在我的磁盘上)加载到div中jQuery.load(),但外部站点似乎不起作用.我甚至使用wireshark来检查数据是否从服务器发送(它是).示例代码如下:
<html>
<head>
<script src='jquery-1.4.2.min.js'></script>
<script>
$(document).ready(function() {
// $('#test').load('localpage.htm'); works!
$('#test').load('http://www.google.com/'); // does not work!
});
</script>
</head>
<body>
<div id='test'></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
首先可以做到这一点吗?如果是这样,怎么样?
我们知道几种排序,例如插入排序,对于"大多数排序"并且在随机数据上不太好的阵列非常有用.
假设我们想要分析这种算法相对于输入数据的"排序"方式的性能改进/降级.什么是生成"越来越多排序"或"越来越随机"的元素数组的好方法?我们如何衡量输入的"排序"?
python ×3
algorithm ×2
c++ ×2
ajax ×1
assembly ×1
c++11 ×1
caching ×1
call ×1
compression ×1
javascript ×1
jquery ×1
loops ×1
mechanize ×1
mutex ×1
optimization ×1
qt ×1
sorting ×1
visual-c++ ×1
x86 ×1