gcc 去除无用程序段】的更多相关文章

嵌入式系统中,对程序尺寸要求高时,可以使用本方法 代码中,经常会有一种情况,库中并非所有函数都会用到.然而,无用的函数也最终被编译进可执行文件中了. 为避免这一情况,可以在编译时,添加选项:-ffunction-sections -fdata-sections .该选项让每个函数和数据独自一段 在链接时,添加选项:-Wl,-gc-sections.该选项将去除无用的段. 需要注意的是:一但使用-Wl,-gc-sections之后,将无法使用gdb调试.也无法使用gprof工具了---------…
1.安装nodejs,gulp,gulp_uncss 1.1.说明:gulp-uncss 是gulp的一个插件.gulp是基于nodejs,理所当然需要安装nodejs: 1.2.安装:打开nodejs官网,点击硕大的绿色Download按钮,它会根据系统信息选择对应版本(.msi文件).然后像安装QQ一样安装它就可以了(安装路径随意). 1.3.安装gulp:全局安装gulp,执行npm install gulp -g,检测gulp是否安装成功,执行gulp -v 显示版本号即安装成功, 1.…
如果不去除调试信息,直白点说基本上是把代码公开了,不要带-g参数,还有就是需要带 -O2 -fvisibility=hidden -s 生成程序后可以用命令strip进一步去除不需要的符号 strip bin…
更新Xcode8之后,控制台会默认打印一坨东西,屏蔽的方法如下:Xcode8里边 Edit Scheme-> Run -> Arguments, 在Environment Variables里边添加OS_ACTIVITY_MODE = Disable ********注意大小写…
在/portal-master/portal-impl/src/portal.properties文件中,有如下配置: # # Input a list of sections that will be included in login form navigation. # login.form.navigation.pre=anonymous,sign-in,facebook,open-id login.form.navigation.post=create-account,forgot-p…
#include <stdio.h> #include <stdlib.h> //int a[]={1000,10000,9,10,30,20,50,23,90,100,10}; ,,,,,}; int length=sizeof(a)/sizeof(int); int swap(int start, int stop){ int temp; temp=a[start]; a[start]=a[stop]; a[stop]=temp; ; } int quicksort(int s…
感染(low) Description n户人家住在一条直线上,从左往右依次编号为1,2,-,n.起初,有m户人家感染了COVID-19,而接下来的每天感染的人家都会感染他家左右两家的人,问t天后总共有多少人家会感染. Input 第一行输入三个整数n(1 <= n <= 2e5),m(0 <= m <= n),t(1<= t <= 2e5). 第二行m个整数ai(1 <= ai <= n),代表最初感染的m户人家的编号. Output 输出一个整数,代表最…
多条件查询 应对 url 无用 null 值现象 处理例如:http://xxoo.b2b.com/orders?city_id=5&repertory_id=7&area_id=39&order_status=&order_type=&pay_type=&id=&add_user_id=&client_id=&client_name=&tel=&address=&startTime=&endTime=…
一.单选题(共29题,每题5分) 1.PHP面向对象方法重写描述错误的是? A.子类必须继承父类 B.子类可以重写父类已有方法 C.重写之后子类会调用父类方法 D.子类也可以具有与父类同名的属性,进行属性覆盖 参考答案:C 答案解析:重写之后子类不会再去调用父类的方法,而是直接调用自身的方法. 2.php选项/信息函数作用错误的是? A.phpinfo() 输出关于 PHP 配置的信息 B.php_sapi_name() 返回 web 服务器和 PHP 之间的接口类型 C.ini_set() 为…
大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式操作?来~,喜欢用lambda(虽然java的比较蛋疼~),来~看这个~ 哈哈,如果你用的不是java8~~没问题,那就默默地用老方式匿名类来实现这些功能吧,但是这并不妨碍您的使用哈哈~~~ 更新多次~希望大家也能够集思广益~ github地址:https://github.com/MatrixSe…
作者:非戈@阿里移动安全 1.我是怎么思考这件事情的 APK是Android系统安装包的文件格式,关于这个话题其实是一个老生常谈的题目,不论是公司内部,还是外部网络,前人前辈已经总结出很多方法和规律.不过随着移动端技术近两年的飞速发展,一些新的思维方式和优化方法也逐渐涌现和成熟起来.笔者在实践过程中踩过一些坑,收获了一些经验,在这里做个思考和总结,所以随笔给大家,希望对大家从事相关工作的时候有所帮助和参考,同时也是抛砖引玉,希望大家共同探讨这个开放性的话题. 关于为什么APK要瘦身,这个不多说,…
一则利好消息,flow.ci 支持 iOS 项目持续集成,想试试的伙伴去 Gitter群 问问.首批尝鲜用户@阿米amoy 已经用 flow.ci 实现了基本的 iOS 持续集成,并详细记录整个 Build, Test, Deploy 的过程,详情见: flow.ci 初体验!记一次暖心的 iOS 持续集成 除此外,再来看下最近的 iOS/Android 相关的工具.源码分享和技术文章- 『iOS / Android开发分享 』 Dash iOS 版本开源 Dash 是一个免费且开源的 API…
转自:http://kb.cnblogs.com/page/534571/ 一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来. 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为,比如布局(layout)和绘制(paint).下面主要先介绍下这些浏览器行为,阐述一个页面是怎么最终被呈现出来的,另外还会从代码的角度,来说明一些不好的实践以及一些优化方案.…
最近做一个C#项目要导入CSV文件中的数据到Oracle中,使用Aspose.Cells读取中文字段标题却乱码,表的最后多出几行null记录,而且不是免费的,后来找到了NPOI,顾名思义,就是POI的.NET版本,POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等.而且是免费的,学了半天,得出一个结论,杀鸡用牛刀.最后决定自已写一个读取及写入CSV文件的代码,效果非常好.现分享受应…
转载自:http://macrochen.iteye.com/blog/1035680 关于字体的设置 IDEA下使用雅黑Consolas混合字体      快捷贱, 快捷贱 , 快捷键贱    IntelliJ IDEA快捷键桌面背景图    ctrl-w   使所选表达式逐步增大直到选取整个文件  ctrl+shft+w   逐步减少选中 ctrl-n 可以通过键入类名查找一个类 ctrl-shift-n 可以查找文件 ctrl-e 得到最近编辑的文件 在没有选择的情况下ctrl-c 拷贝一…
http://devyang.me/blog/2014/11/11/li-yong-android-gradleshou-shen-apk/ apk瘦身一般有两条线, 去除无用的代码,例如引用一个比较大的lib,只使用了其中很少的功能.其他无用的代码可以想办法去掉 去除无用的资源文件,可能是第三方lib中的,也有可能是开发中引入了无用的资源 去除无用代码 当然是Proguard了! gradle plug 0.14.0, runProguard 更名为minifyEnabled 去除无用资源 A…
1.修改Request 命令行键入: bpu URL 优缺点:对单个URL打断点.不影响其他接口. 用途:可以修改客户端对服务器发送的请求,通过修改成不同的参数,验证服务器响应是否正确.通常用于模拟客户端较难手工实现的数据.或者客户端未完成功能时预先测试服务器.(偏重对服务器的测试) 清除断点:bpu 2.修改Response 命令行键入: bpafter URL 优缺点:对单个URL打断点.不影响其他接口. 用途:可以修改服务器返回的响应,通过修改成不同的参数,验证客户端的展示和本地计算是否正…
作者:张鑫链接:https://zhuanlan.zhihu.com/p/21949663来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 接上一篇 加载模块深度解析(二),我们重点讨论了网格资源的加载性能.今天,我们再来为你揭开Shader资源的加载效率. 这是侑虎科技第59篇原创文章,欢迎转发分享,未经作者授权请勿转载.同时如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨.(QQ群465082844) 资源加载性能测试代码 与上篇所提出的测试代码一样,我们…
1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. • 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. l 静态web资源开发技术 • Html l 常用动态web资源开发技术: • JSP/Servlet.ASP…
Ctrl + Space  完成类.方法.变量名称的自动输入,这个快捷键是我最经常使用的快捷键了,它可以完成类.方法.变量名称的自动录入,很方便.(不过在我的电脑上和输入法冲突) Ctrl + N 快速跳转到执行的类. Ctrl + Shift + N 跳转到指定的文件 Ctrl+Shift+Alt+N 可以快速打开符号 Ctrl + B (ctrl+点击) 跳转到定义处 Ctrl + Alt + B  跳转到方法实现处 Ctrl + Alt + T  用*来围绕选中的代码行( * 包括if.w…
ADB命令 Application Exerciser Monkey Gradle ProGuard 代码重用 版本控制 静态代码分析 代码重构 开发者模式   ADB命令: @.adb help:查看adb命令. @.adb devices:列出所有连接的安卓设备和模拟器. @.adb push <local> <remote> 把计算机里的文件拷贝到设备中. adb push e:\test.xml /sdcard/files.ldb/ @.adb pull <remot…
一.前言                   本篇内容以理解MyBatis的基本用法和快速在项目中实践为目的,遵循Make it work,better and excellent原则. 技术栈为MyBatis3.2.7+log4j1.2.17+sqlite3+jdk1.7. 二.示例         示例代码功能: 学校人员管理系统,对象分别为学生.教师和班级,学生与班级为多对一关系,班级与教师为一对多关系.示例代码主要为操作学生对象.   1. 表结构   学生表(TStudentML) 字…
首发地址:http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ 因为推广的需要,公司需要把APK的大小再"减小"一下,4M以内! 当达到4M以内之后,公司建议说,能否再压压?2M如何? 瘦身前 因为平时就考虑到大小的限制,所以很多工作已经做过了,如下列举现在的状态: 7.3M(Debug版本)和6.5M(Release版本) 开启minifyEnabled 开启shrinkResources…
使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进.在此,把这些相关的东西记录,做一总结. 1. 替换AndroidManifest中的占位符 我想把其中的${app_label}替换为@string/app_name android{ defaultConfig{ manifestPlaceholders = [app_label:"@string/app_name"] } } 如果只想替换debug版本: and…
ctrl-w   使所选表达式逐步增大直到选取整个文件  ctrl+shft+w   逐步减少选中 ctrl-n 可以通过键入类名查找一个类 ctrl-shift-n 可以查找文件 ctrl-e 得到最近编辑的文件 在没有选择的情况下ctrl-c 拷贝一整行,ctrl-x 剪切一整行.ctrl-shift-j 会做一个想vi那样的连接,除非它是句法敏感的.比如有这么一行:string s = "this is " +" a split string"; 连接之后成为…
作为Java的利器,IDEA属实是非常好用,参考网文总结其常用快捷键如下: Ctrl + /(Ctrl + Shift + /):注释或反注释指定的语句.这个是本人最喜欢的,所以排在第一位. Ctrl + Alt + L:根据模板格式化选择的代码,根据模板中设定的格式来format你的java代码,不过可惜的是只对java文件有效. Ctrl + Shift + Up(Ctrl + Shift + Down):整行的上.下移动代码. Ctrl + D:克隆当前行到下一行,极其有用的功能,本人很喜…
要在打包APK时加入混淆需要在Module中的buid.gradle中加入如下信息 buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } minifyEnabled为runProguard的更名  去除无用代码 shrinkResources 去除无用资…
遭遇MultiDex 愉快地写着Android代码的总悟君往工程里引入了一个默默无闻的jar然后Run了一下, 经过漫长的等待AndroidStudio构建失败了. 于是带着疑惑查看错误信息. UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536 at com.android.dx.merge.DexMerger$6.updateIndex(D…
        代码质量分享    2016_06_24_舒琴_代码质量.key    For 代码提交人     基本原则 Review时机: 对于普通bugfix或优化,CodeReview最迟要在发布前一天或发布当天早上: 对于项目,CodeReview 最迟应该在QA提测前一天: 持续增强:     每次提交变更尽可能小一点, 但是保证每次的变更都是正确和完整的, 合并到代码库中持续增强系统. 去除无用改动: 仔细斟酌每一行改动,去掉无用的注释,reset 掉没有逻辑改动(空行改动)的文…
1,Xcode8  duplicate symbols 在Build Setting里面 NO Common Blocks 设置为NO,就解决问题了. 2,昨晚升级iOS9.2之后.今天一来真机调试就报错: Could not find Developer Disk Image 解决方法: 下载   DeveloperDiskImage_ios9.2   镜像 解压后将其放到下面目录下就可以了:/Applications/Xcode7.0.app/Contents/Developer/Platf…