小编Joh*_*ski的帖子

什么是嵌入式NAND驱动器的优秀文件系统?

我正在开发一个使用NAND闪存进行存储的嵌入式应用程序.现在看来,我们不会使用Linux或任何其他RTOS.应用程序必须处理意外断电.

我们一直在寻找不同的文件系统解决方案,包括YAFFS2,JFFS2,FAT + FTL以及HCC Embedded的解决方案.

我听说FAT + FTL是一个正常的选择,但我担心在出现意外断电和性能的情况下会丢失数据.如果有人能分享这方面的见解和经验,将不胜感激

filesystems embedded flash-memory

11
推荐指数
2
解决办法
5883
查看次数

Vim:使用范围突出显示C++变量?

我想让范围突出显示C++变量.例如,变量应具有不同的颜色,具体取决于文件,类,全局或局部范围.可能吗?

更新:欢迎外部助手(例如ctags/clang和vim脚本).

更新2:这应该可以使用libclang.看看Doug Gregor在这里的演讲:http://llvm.org/devmtg/2010-11/ 我想还没有人做过......或者?

c++ vim scope syntax-highlighting

10
推荐指数
1
解决办法
3023
查看次数

GCC中的断言和未使用的局部变量警告不能很好地混合?

我在GCC中遇到了未使用的局部变量警告问题.

通常我的代码看起来像这样:

bool success = foo();
assert(success);
Run Code Online (Sandbox Code Playgroud)

这适用于调试版本.然而,在发布中,断言编译为空,GCC给了我一个警告.

解决这个问题的最佳方法是什么?bool success =用#ifdef 包装似乎不是一个很好的解决方案......

c c++ gcc g++

10
推荐指数
3
解决办法
3504
查看次数

在LaTeX中将页面旋转180度

如何在LaTeX中将页面旋转180度?

latex

8
推荐指数
2
解决办法
3万
查看次数

如何在Common Lisp中重用gethash查找?

我有一个哈希表,其中键是相当复杂的列表,带有符号和整数的子列表,并且应根据已存在的值修改该值.该表是使用: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中完成.有任何想法吗?

lisp common-lisp

8
推荐指数
1
解决办法
1259
查看次数

有没有办法减少ostringstream malloc/free?

我正在写一个嵌入式应用程序.在某些地方,我经常使用std :: ostringstream,因为它对我来说非常方便.但是,我刚刚发现性能受到了极大的影响,因为向流中添加数据会导致大量调用malloc和free.有什么办法可以避免吗?

我的第一个想法是使ostringstream静态并使用ostringstream :: set("")重置它.但是,由于我需要函数可重入,因此无法完成此操作.

c++ memory stl stringstream ostringstream

8
推荐指数
1
解决办法
3483
查看次数

重试失败的提交时,自动重新加载svn-commit.tmp中留下的消息?

你好,

这种情况经常发生在我身上:我尝试检查svn commit,但由于某种原因提交失败(因为冲突,锁定文件或诸如此类).我的提交消息存储在svn-commit.tmp.我解决了这个问题并尝试再次办理登机手续.我现在必须从头开始输入提交消息.如果svn可以加载留下的消息,这不是很好svn-commit.tmp吗?有没有办法让这种情况发生?

如果有可能以svn-commit.tmp某种方式避免文件的痕迹,那将是一个奖励.

svn

8
推荐指数
1
解决办法
3023
查看次数

LISP变量交换

如何在不使用第三个变量的情况下在LISP中交换两个变量?

lisp common-lisp

7
推荐指数
1
解决办法
645
查看次数

从本地范围返回值?

在我们的代码库中碰到了像这样的代码...这让我很担心.

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)
  1. 这段代码的行为是否定义明确?
  2. 它真的有用吗,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)

c c++

7
推荐指数
1
解决办法
2101
查看次数

是否有一些Unix util允许我用几乎没有打字的方式grep多个文件?

现在我做了很多:

find * | grep py$ | xargs grep foo
Run Code Online (Sandbox Code Playgroud)

我记得有一些工具以较少的打字方式做到这一点,但是哪个?

更新:如果可能,我更喜欢使用Bash shell.

unix grep text find

6
推荐指数
1
解决办法
1112
查看次数