社区
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 这么不合群?
...全文
293
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写文章
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
打赏
举报
回复
防止类型扩宽时符号位的填充?
【Linux】
线程
概念与控制
本文系统讲解Linux
线程
的核心概念、进程与
线程
的本质区别、POSIX
线程
库(pthread)的创建、终止、等待与分离机制,并深入剖析
线程
ID(pthread_t与LWP)、
地址
空间布局、栈管理及glibc中pthread_create的底层实现(基于clone系统调用与TCB分配)。内容涵盖分页式内存管理基础(页表、TLB、缺页异常),为理解
线程
资源共享与调度提供硬件与内核视角支撑。
Linux进程内存布局异常诊断与修复实战
本文聚焦Linux进程虚拟内存布局异常的实战诊断与修复,深入剖析brk/mmap契约破坏、ASLR干扰、VMA间隙塌陷等核心问题。通过/proc/pid/maps基线比对、strace动态追踪、pmap内存测绘及gdb根因隔离四步法,精准定位三类典型异常形态。强调从分配器替换(jemalloc)、mmap阈值调优到架构级防御(构建时加固、运行时监控)的全链路解决方案,适用于长期运行服务与嵌入式系统。
【C/C++基础回顾与总结】
本文系统梳理C++三大核心特性(封装、继承、多态)及其底层实现机制,重点解析虚函数表、虚析构函数、重载/重写/隐藏等关键概念;深入剖析C++内存布局(栈区、堆区、自由存储区)、new/delete与malloc/free差异、智能指针(shared_ptr/unique_ptr)、移动语义(std::move)、RAII资源管理及常见内存问题(野指针、悬空指针、内存泄漏);涵盖拷贝构造、引用与指针区别、类型转换、内存对齐等基础但易错要点,聚焦高性能与安全编程实践。
逆向工程实战:从二进制分析到0Day漏洞挖掘的完整路径
本文系统阐述了从二进制逆向分析到0Day漏洞挖掘的完整技术路径,涵盖目标筛选、静态/动态分析、AFL++模糊测试、核心漏洞类型(栈溢出、UAF、整数溢出、格式化字符串)识别方法,以及ROP利用、ASLR/NX绕过等实战技术。强调动静结合分析、工具链协同(IDA/Ghidra/GDB/Frida/AFL++)和漏洞可利用性验证,聚焦于C/C++程序中内存安全类漏洞的发现与利用。
Snake最终版以及程序文件
在gcc环境下使用,包含所有使用到的资源
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章