当前位置: 首页 > wzjs >正文

做网站中山2020年度关键词有哪些

做网站中山,2020年度关键词有哪些,类似问卷星做心理测试的网站,wordpress新闻资讯主题文章目录 Overview一、什么是 .bss段?二、查看 .bss 段大小方法 1:使用 size 命令 三、查看 .bss 段里都有哪些符号(变量)方法 2:用 nm 和 grep 查看 .bss 中的符号方法 3:用 objdump 查看段内容&#xff0…

文章目录

  • Overview
    • 一、什么是 .bss段?
    • 二、查看 .bss 段大小
      • 方法 1:使用 size 命令
    • 三、查看 .bss 段里都有哪些符号(变量)
      • 方法 2:用 `nm` 和 `grep` 查看 `.bss` 中的符号
      • 方法 3:用 `objdump` 查看段内容(结构)
    • 为什么 .bss 很大?
      • 常见原因
    • 解决建议

Overview

在代码编译的时候,我们可能会发现 BSS 占用的空间比较大,那么如何使用GCC 相关的工具来
查看bss 端有哪些内容以及为什么这么大呢?

要查看 GCC 构建出来的程序中 .bss 段的内容和大小,需要理解两部分:

  1. .bss 是什么,它里面为什么“看起来很大”

  2. 怎么实际查看 .bss 里有哪些符号(变量)以及它们占用的空间

一、什么是 .bss段?

  • .bss(Block Started by Symbol)段用于存放 未初始化的全局变量和静态变量

  • 它在编译时 不占用实际空间,但在运行时由加载器或运行时初始化为全 0。

  • 编译器只是告诉链接器:“这段内存我以后要用,占 X 字节,但你不用给我写入文件。”

举例:

int a;          // 位于 .bss 段
static int b;   // 位于 .bss 段
char buf[4096]; // 如果是全局/静态,位于 .bss 段

二、查看 .bss 段大小

方法 1:使用 size 命令

size your_program.elf

输出示例:

text    data     bss     dec     hex filename1024     512   65536   67072   10500 your_program.elf
  • .text:代码段大小

  • .data:已初始化的全局变量

  • .bss:未初始化的变量大小

  • dec/hex:总大小(十进制/十六进制)

上面显示 .bss 有 64KB,很可能是因为你有一个大数组,或某个库全局变量预留了大内存空间。

三、查看 .bss 段里都有哪些符号(变量)

方法 2:用 nmgrep 查看 .bss 中的符号

nm -S --size-sort your_program.elf | grep ' [Bb] '
  • -S:显示每个符号的大小

  • --size-sort:按大小排序

  • ' [Bb] ':匹配 .bss 段(大写 B 是全局变量,b 是局部静态变量)

示例输出:

20001000 00010000 B big_buffer
20011000 00000004 b static_flag
  • big_buffer 是个大数组,占了 64KB

  • static_flag 是局部静态变量,占了 4 字节

方法 3:用 objdump 查看段内容(结构)

objdump -h your_program.elf

输出:

Idx Name          Size      VMA       LMA       File off  Algn5 .bss          00010000  20001000  20001000  00000000  2**4CONTENTS, ALLOC, LOAD, DATA

显示 .bss 占了 0x10000(64KB),起始地址 0x20001000

为什么 .bss 很大?

常见原因

  1. 定义了大型全局/静态数组

    char buffer[64 * 1024];  // 占用 64KB
    
  2. 某些库(如 newlibprintf)内部定义了缓冲区

  3. 堆栈大小在链接脚本中定义为 .bss 变量

    __stack = . + 0x8000;  // 32KB stack
    
  4. 链接脚本中手动分配了大段内存到 .bss

解决建议

  • 检查源代码中是否有大数组(尤其是未初始化的)

  • 检查链接脚本中是否 .bss 里分配了栈或堆(如 _stack_size)

  • 使用 nm/size 排查真正占空间的变量

  • 如果你用的是嵌入式系统,考虑是否能用动态内存或精简库(如 nano.specs

http://www.dtcms.com/wzjs/206857.html

相关文章:

  • wordpress登录后才允许浏览灯塔seo
  • 刚做的网站 搜不到如何建网站不花钱
  • 引流app推广软件seo网站外链平台
  • 东莞网站建设推广百度推广公司电话
  • 门户网站开发平台中国国家培训网
  • 一元云够网站建设google推广有效果吗
  • 宁波网站营销推广策划方案百度云盘官网登录入口
  • 张家港做外贸网站太原百度关键词优化
  • 什么是网站的层次关键词查找的方法有以下几种
  • 建购物网站多少钱百度下载安装2021
  • 章贡区建设局网站怎么自己注册网站平台了
  • 品牌网站响应式网站有哪些网络营销策略包括
  • 用户要承担暖气费的税吗seo服务收费
  • IT男做网站所有关键词
  • 大连嘉良建设有限公司网站近三天时政热点
  • 怎么模仿别人做网站个人网站建站流程
  • qq刷赞网站如何做分站网站热度查询
  • 微网站营销是什么福州seo建站
  • 网站新闻更新怎么设计网络营销策略内容
  • wordpress附件绕过媒体seo的优点有哪些
  • 怎样制作网页链接教程seo站点是什么意思
  • flash简单网站模板营销网站做的好的公司
  • 昆明企业网站建设公司淘宝关键词指数查询
  • 营销网站建设规划概念合肥seo优化排名公司
  • 山东神华网站建设北京、广州最新发布
  • 建设电子商务平台网站营销战略包括哪些方面
  • 做商业网站要交税吗北京搜索引擎优化seo专员
  • 给公司做网站费用电商网站设计论文
  • 国外展柜网站优化站点
  • 寿光市建设局网站凡科建站代理登录