首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存对齐argv?

内存对齐argv?
EN

Stack Overflow用户
提问于 2015-03-19 07:30:09
回答 2查看 146关注 0票数 0

我在Linux上,用C编写代码,并试图处理argv变量的调整号属性,但没有结果:

我们如何使argv参数(每个参数)对齐到一个定义的边界,比如16位,,而不首先通过memcpy或替代方法将其复制到对齐变量

有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-19 07:37:00

这是不可能的。对齐属性告诉编译器如何对齐为其生成代码和数据的结构。它还告诉编译器由其他代码生成的外部结构和数据的实际对齐情况。

argv参数直接由C启动代码或操作系统提供。在指针数组的隐式自对准之外,不应对它们的对齐进行任何假设。您不能用编译器属性来更改它,也不建议强制编译器进行其他假设。

票数 2
EN

Stack Overflow用户

发布于 2015-03-19 07:45:59

在某些实现中,argv变量可以直接指向原始命令行,在此命令行中,每个参数被替换为null后,第一个分隔符(空格)。在这样的实施中,很明显的是,结盟是什么,它是什么,而不能被控制!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29139186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档