社区
C语言
帖子详情
stack 线程堆栈起始地址为什么要unsigned char *
mingchaoyan
2011-12-02 07:39:31
比如在tcp定义中
struct TCB{
unsigned char *stack; /*堆栈的起始地址*/
unsigned ss; /*堆栈段址*/
unsigned sp; /*堆栈指针*/
int state; /*进程状态*/
char name[10]; /*线程的外部标识符*/
}tcb[NTCB]; /*最大线程数 */
ss,sp都是 unsigned 型的
为什么就stack 这么不合群?
...全文
218
14
打赏
收藏
stack 线程堆栈起始地址为什么要unsigned char *
比如在tcp定义中 struct TCB{ unsigned char *stack; /*堆栈的起始地址*/ unsigned ss; /*堆栈段址*/ unsigned sp; /*堆栈指针*/ int state; /*进程状态*/ char name[10]; /*线程的外部标识符*/ }tcb[NTCB]; /*最大线程数 */ ss,sp都是 unsigned 型的 为什么就stack 这么不合群?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qwer_boo
2011-12-03
打赏
举报
回复
那就是移植性了
zichen0422
2011-12-03
打赏
举报
回复
考虑移植性!
不同的机器 字节长度不一样!
dq
2011-12-03
打赏
举报
回复
移植性:int在不同的系统中长度是不一样得,char在各个系统中都是一个字节。另外,节省内存。
gameslq
2011-12-03
打赏
举报
回复
unsigned char *stack 改成 unsigned 的
比如
unsigned *stack
这不是在浪费内存吗? 存储数据用 4个字节(stack 具有 unsigned int *地址属性)?
另外
stack 定义成 unsigned char *是合理的,不参与数据计算的情况下
unsigned char *更合适,纯地址引用。
编程点滴
2011-12-03
打赏
举报
回复
安全点
mingchaoyan
2011-12-03
打赏
举报
回复
有道理
gfzeng
2011-12-03
打赏
举报
回复
字符常量本身都是非负的, 用unsigned 起到节省内存的作用, 如果没有这个关键词, 那么存储量减少了一般.
windman521
2011-12-03
打赏
举报
回复
1,网络中使用的是字节流
2,机器架构不同,short,int 容易产生大小端问题。
datianshi9
2011-12-02
打赏
举报
回复
有所谓么??
AnYidan
2011-12-02
打赏
举报
回复
移植性
狂且
2011-12-02
打赏
举报
回复
这个和单片机程序差不多吧? 经常处理的是无符号数, 速度快? 范围大? 方便?
鲤鱼
2011-12-02
打赏
举报
回复
个人感觉无所谓吧~
qq120848369
2011-12-02
打赏
举报
回复
防止右移位符号位的填充?
qq120848369
2011-12-02
打赏
举报
回复
防止类型扩宽时符号位的填充?
调用外部程序的多任务调度(c语言实现)
/*
堆栈
的
起始
地址
*/
unsigned
sp,ss; /*ss:
堆栈
段址;sp:
堆栈
指针*/ int value; /*进程的优先权*/
char
state; /*进程状态*/ struct TCB *next; /*进程TCB链队指针*/ } tcb[NTCB] ; /*NTCB系统最大允许进程数...
C++ 面试题型总结
1. 常量指针 const
char
* p;...
char
* const p; // 指针p 是常量, 不能改变指针的值 2. 字符数组变量有各自的内存空间,指针指向相同的区域
char
str1[] = "abc";
char
str2[] = "abc"; const ...
C语言常见问题
char
* s="AAA"; printf("%s",s); s[0]='B'; printf("%s",s); 有什么错? "AAA" 是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。cosnt
char
* s="AAA";然后又因为是常量,所以对是s[0] 的赋值...
【图像算法】常见的数字图像处理程序大全
unsigned
char
GetMedianNum(
unsigned
char
* bArray, int iFilterLen); BOOL GradSharp(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, BYTE bThre); BOOL ReplaceColorPal(LPSTR lpDIB, BYTE * bpColorsTable...
rt_hw_
stack
_init
线程
栈初始化参数分析
RT-Thread 在
线程
初始化的代码内有一段初始化
线程
堆栈
的代码,在调用 `rt_hw_
stack
_init()` 初始化
堆栈
的时候传入
线程
栈
起始
地址
进行了 `-sizeof(rt-ubase_t)` 操作,而在 `rt_hw_
stack
_init()` 函数内又进行 `stk =...
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章