小编itj*_*itj的帖子

我应该何时在嵌入式系统中使用类型抽象

我曾经在许多不同的嵌入式系统上工作过.他们都使用typedefs(或#defines)作为类型UINT32.

这是一个很好的技术,因为它将类型的大小驱动到程序员家,让你更加意识到溢出的可能性等.

但是在某些系统上,您知道编译器和处理器在项目生命周期内不会发生变化.

那么应该影响您创建和实施项目特定类型的决策呢?

编辑我想我设法失去了我的问题的要点,也许它真的是两个.

使用嵌入式编程,您可能需要特定大小的接口类型,以及处理受限资源(如RAM).这是无法避免的,但您可以选择使用编译器中的基本类型.

对于其他一切,类型的重要性较低.
您需要注意不要引起溢出,并且可能需要注意寄存器和堆栈的使用.这可能会引导你UINT16,UCHAR.但是使用类型UCHAR可以添加编译器'fluff'.由于寄存器通常较大,因此某些编译器可能会添加代码以强制将结果输入类型.

__PRE__
可以变成
__PRE__
这是不必要的.

所以我认为我的问题应该是: -

鉴于嵌入式软件的限制,为一个项目设置的最佳策略是什么,这个项目将有很多人参与其中 - 并非所有人都具有相同的经验水平.

c embedded

20
推荐指数
2
解决办法
1641
查看次数

如何安全地处理可选参数

我正在写一个proc来在输出文件中创建一个标题.

目前,它需要采用可选参数,这是标题的可能注释.

我最终将其编码为单个可选参数

proc dump_header { test description {comment = ""}}
Run Code Online (Sandbox Code Playgroud)

但是我想知道如何使用args实现相同的目标

proc dump_header { test description args }
Run Code Online (Sandbox Code Playgroud)

检查args是否是一个空白参数($ args =="")非常容易,但是如果传递多个参数则不能很好地应对 - 而且我还需要负面检查.

tcl

6
推荐指数
2
解决办法
9782
查看次数

perl是否与字符串中的TCLs expr等效

我有一个编写html页面的脚本.

大部分内容都是固定的,所以我使用打印qq!在单个语句中输出格式良好的文本.

一些行需要一个变量+ 2嵌入其中,所以我最终预先计算了$ myVarplus2,这在一个案例中没问题.

my $myVarPlus2 = $myVar + 2;
Run Code Online (Sandbox Code Playgroud)

在TCL中我可以在语句中使用[expre $ myVar + 2].Perl有类似的概念吗?

这相当于我想做的事情

print qq!
$('td:nth-child(n)').show();!
$('td:nth-child([expr $myVar + 2])').removeClass('failCount');!
Run Code Online (Sandbox Code Playgroud)

我宁愿不打破声明

print qq!
$('td:nth-child(n)').show();!
$('td:nth-child(" . $myVar + 2 . qq!').removeClass('failCount');!
Run Code Online (Sandbox Code Playgroud)

但接受它可能是最简单的方法.

perl

2
推荐指数
1
解决办法
116
查看次数

标签 统计

c ×1

embedded ×1

perl ×1

tcl ×1