-
Linux socket设置mark的关键性
所属栏目:[教程] 日期:2021-11-23 热度:98
Linux的Netfilter钩子点的位置会导致一些奇怪的问题,比如本机发出的包无法使用基于mark的策略路由,这是因为mark一般是在Netfilter中进行的,而Linux的路由处在OUTPUT钩子点之前,因此这是一个顺序倒置的问题,如何来解决呢?只能在路由之前打上mark,而我们[详细]
-
窥视Linux内核的行为的一些技巧
所属栏目:[教程] 日期:2021-11-23 热度:108
想了解Linux内核的行为,需要一定的偷窥经验,大致可以分为以下几个: 1.使用printk 直接在内核代码或者模块代码的你想偷窥的地方printk一些信息。这种方式需要你会编译内核代码以及编译内核模块,以及将其正确安装进内核并启动之。虽然需要这么多知识,然而[详细]
-
Android 动态库死机调试技巧
所属栏目:[教程] 日期:2021-11-23 热度:56
这两种方法都不是我发明了,都是网上一些高手公共出来的调试方法,无奈找不到出处的地方了,所以就在此总结一下,以方便Android下的调试: 简要说明: android系统中调试Java非常容易,一般遇到错误都在logcat中打印出错时函数的调用关系,而C库中出错时只看[详细]
-
mini2440 madplay移植出现问题处理
所属栏目:[教程] 日期:2021-11-23 热度:145
刚刚开始,下决心学习linux,所以找出大学时候就购买的mini2440 拿出来折腾。 按照手册一路模仿学习,其中出现不少问题,也都一个一个解决了。可惜那时候没有想来,记录这个过程。 这次在学习到手册的第六章6.5嵌入式程序移植实例的时候出现了问题。看如下图[详细]
-
Android 通过NTP服务器自动获取时间的技巧
所属栏目:[教程] 日期:2021-11-23 热度:110
对于手机,如果有SIM卡支持的话,在设置时间时可以通过选择自动从网络获取时间来取得当地的时间和时区: 但如果手机没有SIM卡,此时如果有Wifi链接,手机依然可以通过网络自动获取时间(时区此时需要手动设置)。 查看Android源码,在android.net 中有 SntpC[详细]
-
Android - 动态库双向依赖解决技巧
所属栏目:[教程] 日期:2021-11-23 热度:194
问题: 昨天调试一个CA库link失败的问题:ca厂商一般提供的都是静态ca库,这样子你直接将其与你的库link在一起即可使用,但由于apk在ndk中编译器:Android-ndk-r6barm-linux-androideabi-4.4.3 而ca库使用hisi编译器:arm-eabi-4.4.0_hisi 两者使用的编译不[详细]
-
make menuconfig分析
所属栏目:[教程] 日期:2021-11-23 热度:193
make menuconfig 图形化的内核配置make mrproper -----删除不必要的文件和目录. 1 #make config(基于文本的最为传统的配置界面,不推荐使用) 2 #make menuconfig(基于文本选单的配置界面,字符终端下推荐使用) 注意:使用make menuconfig 需要安装ncurse[详细]
-
iOS UIAlertview的事件解决
所属栏目:[教程] 日期:2021-11-23 热度:170
1.开始想用UIView做密码输入 2.后来觉得麻烦,改用UIAlertview 3.因为我做的是SBSETTINGS开发,不能提供UIAlertView 事件处理所需要的self.说到这个UIAlertView不得不吐槽一下,APPLE绝对是极限方便使用者,非常虐待开发者的. 为了保证流畅,连UIAlertView的YES N[详细]
-
Python单例模式的4种实现技巧
所属栏目:[教程] 日期:2021-11-23 热度:97
Python单例模式的4种实现方法: #-*- encoding=utf-8 -*- print ----------------------方法1-------------------------- #方法1,实现__new__方法 #并在将一个类的实例绑定到类变量_instance上, #如果cls._instance为None说明该类还没有实例化过,实例化该类,[详细]
-
Socket网络通讯开发概括之:Java 与 C进行Socket通讯
所属栏目:[教程] 日期:2021-11-23 热度:118
先交待一下业务应用背景: 服务端:移动交费系统:基于C语言的Unix系统 客户端:增值服务系统:基于Java的软件系统 通迅协议:采用TCP/IP协议,使用TCP以异步方式接入 数据传输:基于Socket流的方式,传输的是网络字节序 Java Socket通讯实现方式这里不做过[详细]
-
lua-5.1 和 lua-5.2 之间的一些区别
所属栏目:[教程] 日期:2021-11-23 热度:109
1. luaL_register 2 luaL_setfuncs lua5.1 之中有一个luaL_register,用于把luaL_Reg 数组中的所有函数注册到lua中。但在lua5.2中已经不支持这一函数了, lua5.2的手册中建议使用luaL_setfuncs来替代luaL_register. 使用如下。 int luaopen_libname(lua_State[详细]
-
Java异常处理需要小心的几点
所属栏目:[教程] 日期:2021-11-23 热度:130
1,不要简单的用printStackTrace把异常打出来,而不进行处理,注意,printStackTrace并不是处理异常 2,要catch具体的异常,而不是总的抛出一个Exception,而是要分IOException等。 3,处理Exception的时候要把处理信息写得详细点 4,善于使用finally,比如[详细]
-
谨慎Java代码的内存泄漏
所属栏目:[教程] 日期:2021-11-23 热度:137
对于有语言编译基础的同志,要注意了.如果你是刚学Java的.那么下面你必须要看.当然本人也是一样.也会出现下面某些错误.所以本人总结了一些. 当然都是个人看法.不代表就是对的.也许有些是错的.同时也希望熟悉JAVA的高高手指出.或者有更好的看法或建议.都可以和[详细]
-
Objective-C中nil与release的差异与用法
所属栏目:[教程] 日期:2021-11-23 热度:192
做IOS开发的估计都对Objective-C的内存管理机制很头疼,一不小心程序就会出内存泄露,我也不例外,前几天被指针的置nil与release给搞惨了,今和大家详细解说一下有关Objective-C中nil与release的区别与用法。 首先说一下他们两的作用,nil就是把一个对象的指[详细]
-
Shell脚本和Informix的交互实现方法
所属栏目:[教程] 日期:2021-11-23 热度:114
在Linux/Unix下一些程序是命令行或者服务程序,一般都有一个配置文件来描述其运行规则,而这些规则通常会保存在数据库中,由其它应用程序来维护。这就牵涉一个问题,如何从数据库中获取最新的规则来驱动后台程序。同样后台程序运行结束后,生成的结果有时需[详细]
-
Android bionic缺失pthread_cancel的解决措施
所属栏目:[教程] 日期:2021-11-23 热度:173
在native code中使用多线程好处多多,但是Android的bionic并没有完全实现标准POSIX线程库的所有API,例如pthread_cancel()。但是google这样做肯定有原因,被cancel的thread不一定已经把自己拥有的资源释放掉,因此很可能带来内存泄露,锁没有释放等问题。这[详细]
-
Android ANR异常及其解决措施
所属栏目:[教程] 日期:2021-11-23 热度:57
ANR定义 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处[详细]
-
Nand Flash详细研究
所属栏目:[教程] 日期:2021-11-22 热度:166
NAND技术在设计之初是为了数据存储应用,nand的写回速度比较快,芯片面积小,特别容量大有很大的优势 NAND的地址分为三部分:块号,块内页号,页内字节号;正因为如此,NAND的一次数据访问,要经过3次寻址,先后确定块号,块内页号,页内字节号,至少占用了[详细]
-
Android中使用AlarmManager需谨慎设置进程属性
所属栏目:[教程] 日期:2021-11-22 热度:74
在Android中,AlarmManager提供了不受休眠状态的系统定时功能,其一般使用方法如下。 1、创建一个BroadcastReceiver类的子类,接收定时器事件: public class MyReceiver extends BroadcastReceiver { ...... } 2、在AndroidMenifest.xml中定义上述广播事件接[详细]
-
C++中的抽象类以及接口的差异联系
所属栏目:[教程] 日期:2021-11-22 热度:161
抽象类和接口 抽象类: 抽象类是特殊的类,不能被实例化(将定义了纯虚函数的类称为抽象类);除此以外,具有类的其他特性; 重要的是抽象类可以包括抽象方法,这是普通类所不能的,但同时也能包括普通的方法。 抽象方法只能声明于抽象类中,且不包含任何实现[详细]
-
Ubuntu下编译C程序的分析
所属栏目:[教程] 日期:2021-11-22 热度:164
1、C语言中的各种后缀名代表的意思: .a文件代表的是静态库 .c代表c源代码 .h代表c源代码头文件 .i代表的是c源代码(这是被预处理过后的结果) .o对象文件 .s汇编语言的代码 .so动态库 2、c语言程序从源代码到生成可执行文件的过程:c程序源代码(.c文件)--[详细]
-
Spring的Quartz定时器同一时刻重复执行二次的问题处理
所属栏目:[教程] 日期:2021-11-22 热度:197
最近用Spring的quartz定时器的时候,发现到时间后,任务总是重复执行两次,在tomcat或jboss下都如此。 打印出他们的hashcode,发现是不一样的,也就是说,在web容器启动的时候,重复启了两个quartz线程。 研究下来发现quartz确实会加载两次: 第一次:web容[详细]
-
把驱动编译进内核的3种技巧
所属栏目:[教程] 日期:2021-11-22 热度:112
把驱动编译进内核的3种方法-----(mini2440 key按键为例) 方法1:单独以模块的方式编译及加入内核的方法(最简单的方法) 说明:key.c(key_hui.c)是驱动的代码,Makefile是编译规则,key.ko是驱动。key_irq是测试代码. (1). 在源程序目录make arch=arm ,就[详细]
-
Linux下借助backtrace追踪函数调用堆栈以及定位段错误
所属栏目:[教程] 日期:2021-11-22 热度:69
一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。 在glibc头文件execinfo.h中声明了三个函数用于获取当前线程的函数调用[详细]
-
C++之static静态修饰符分析
所属栏目:[教程] 日期:2021-11-22 热度:86
静态类成员:是那些与类本身有关的成员数据和成员函数,而不是与该类对象相关的成员数据和成员函数。 所以静态成员数据也称为类数据,静态成员函数也称为类方法。静态成员数据在类里只是一个说明,还需要一个定义(或叫初始化)。静态成员数据要在类定义之外[详细]

浙公网安备 33038102330482号