我正在开发一个使用NAND闪存进行存储的嵌入式应用程序.现在看来,我们不会使用Linux或任何其他RTOS.应用程序必须处理意外断电.
我们一直在寻找不同的文件系统解决方案,包括YAFFS2,JFFS2,FAT + FTL以及HCC Embedded的解决方案.
我听说FAT + FTL是一个正常的选择,但我担心在出现意外断电和性能的情况下会丢失数据.如果有人能分享这方面的见解和经验,将不胜感激
我想让范围突出显示C++变量.例如,变量应具有不同的颜色,具体取决于文件,类,全局或局部范围.可能吗?
更新:欢迎外部助手(例如ctags/clang和vim脚本).
更新2:这应该可以使用libclang.看看Doug Gregor在这里的演讲:http://llvm.org/devmtg/2010-11/ 我想还没有人做过......或者?
我在GCC中遇到了未使用的局部变量警告问题.
通常我的代码看起来像这样:
bool success = foo();
assert(success);
Run Code Online (Sandbox Code Playgroud)
这适用于调试版本.然而,在发布中,断言编译为空,GCC给了我一个警告.
解决这个问题的最佳方法是什么?bool success =用#ifdef 包装似乎不是一个很好的解决方案......
我有一个哈希表,其中键是相当复杂的列表,带有符号和整数的子列表,并且应根据已存在的值修改该值.该表是使用:test #'equal.
我做了很多类似的事情:
(defun try-add (i)
(let ((old-i (gethash complex-list table nil)))
(if (may-add old-i)
(push i (gethash complex-list table)))))
Run Code Online (Sandbox Code Playgroud)
分析表明equal测试需要花费大量时间.我有一个优化的想法,gethash查找量可以从两个减少到一个.它可以通过重用迭代器在C++中完成,但不确定如何在Lisp中完成.有任何想法吗?
我正在写一个嵌入式应用程序.在某些地方,我经常使用std :: ostringstream,因为它对我来说非常方便.但是,我刚刚发现性能受到了极大的影响,因为向流中添加数据会导致大量调用malloc和free.有什么办法可以避免吗?
我的第一个想法是使ostringstream静态并使用ostringstream :: set("")重置它.但是,由于我需要函数可重入,因此无法完成此操作.
你好,
这种情况经常发生在我身上:我尝试检查svn commit,但由于某种原因提交失败(因为冲突,锁定文件或诸如此类).我的提交消息存储在svn-commit.tmp.我解决了这个问题并尝试再次办理登机手续.我现在必须从头开始输入提交消息.如果svn可以加载留下的消息,这不是很好svn-commit.tmp吗?有没有办法让这种情况发生?
如果有可能以svn-commit.tmp某种方式避免文件的痕迹,那将是一个奖励.
在我们的代码库中碰到了像这样的代码...这让我很担心.
int foo(int a); // Forward declaration.
int baz() {
int result = {
int a = dosomestuff();
foo(a);
} ? 0 : -1;
return result;
}
Run Code Online (Sandbox Code Playgroud)
result变量加载0或-1取决于返回值foo(a)?感兴趣:代码不是原来的那样 - 然而,正是我想象这个看上去无辜的宏将会推出......
int foo(int a); // Forward declaration.
#define BAR() { int a = dosomestuff(); foo(a); }
int baz() {
int result = BAR() ? 0 : -1;
return result;
}
Run Code Online (Sandbox Code Playgroud) 现在我做了很多:
find * | grep py$ | xargs grep foo
Run Code Online (Sandbox Code Playgroud)
我记得有一些工具以较少的打字方式做到这一点,但是哪个?
更新:如果可能,我更喜欢使用Bash shell.
c++ ×4
c ×2
common-lisp ×2
lisp ×2
embedded ×1
filesystems ×1
find ×1
flash-memory ×1
g++ ×1
gcc ×1
grep ×1
latex ×1
memory ×1
scope ×1
stl ×1
stringstream ×1
svn ×1
text ×1
unix ×1
vim ×1