- Linux驱动开发-字符设备驱动开发
可能只会写BUG
linuxlinux驱动开发c语言linux驱动开发运维
linux驱动开发1.驱动程序的类型2.驱动开发流程字符设备驱动1.基本概念2.字符设备驱动的基本结构架构字符设备驱动开发中常用的API示例以下代码加入了设备类和设备实例的创建linux驱动开发1.驱动程序的类型在Linux中,驱动程序主要有以下几种类型:字符设备驱动:处理字节流的设备,如串口、键盘等。它们通过字符设备接口(如/dev/tty)与用户空间进行交互。块设备驱动:处理块存储设备,如硬盘
- shell 笔记_s1=abc,s2=def,[-z‘‘‘]&;&;echo‘$s1‘ echo‘$s2‘的输出是什么
2024云技术
运维linux面试
最全的Linux教程,Linux从入门到精通======================linux从入门到精通(第2版)Linux系统移植Linux驱动开发入门与实战LINUX系统移植第2版Linux开源网络全栈详解从DPDK到OpenFlow第一份《Linux从入门到精通》466页====================内容简介====本书是获得了很多读者好评的Linux经典畅销书**《Linu
- Linux进程间通信方式之管道(pipe)_
前端老侯
运维linux面试
最全的Linux教程,Linux从入门到精通======================linux从入门到精通(第2版)Linux系统移植Linux驱动开发入门与实战LINUX系统移植第2版Linux开源网络全栈详解从DPDK到OpenFlow第一份《Linux从入门到精通》466页====================内容简介====本书是获得了很多读者好评的Linux经典畅销书**《Linu
- Linux驱动开发之Input子系统
陈子陌
Input子系统linux
一、引言在Linux驱动开发的学习过程中,Input子系统绝对是你绕不开的一道关卡。在Linux系统中,不论是按键、鼠标、键盘,亦或者是触摸屏,统统都使用Input子系统来处理输入事件。二、Input子系统1、Input子系统概述Input就是输入的意思,因此Input子系统就是管理输入的系统,和Pinctrl、Gpio子系统一样,都是Linux内核针对某一类设备而创建的框架。不同的输入设备在In
- Linux驱动开发—设备模型框架 kobject创建属性文件
Trump. yang
嵌入式开发linux驱动开发
文章目录什么是属性文件?1.sysfs与kobject2.属性文件的作用3.属性文件的基本操作4.典型的属性文件用例5.创建属性文件的步骤6.示例代码7.效果图使用ATTR宏定义优化__ATTR用法解析1.`__ATTR()`宏的定义2.`__ATTR()`宏的参数3.优化示例优化关键点解析1.数据结构定义2.属性定义3.属性的读写方法4.sysfs操作接口什么是属性文件?在Linux内核中,属性
- Linux驱动开发—在自己总线下注册设备和驱动
Trump. yang
嵌入式开发linux驱动开发
书接上回:Linux驱动开发—创建总线,创建属性文件-CSDN博客创建完总线,就可以进行本次实验了文章目录前备知识如何引用导出的符号在总线下注册设备device_register函数解析使用示例关键点:实验结果在总线下注册驱动driver_register函数解析使用示例实验结果总线,设备,设备驱动三者完整代码加载设备和加载驱动没有先后顺序1.设备与驱动的动态匹配2.总线的`match`机制3.延
- 一步步基于HAL库STM32程序RCT6移植到ZET6
tt555555555555
STM32stm32arm
一份来自于大牛室友@Top嵌入式的博客_CSDN博客-Linux驱动开发,STM32,U-Boot源码分析领域博主的代码,他是基于STM32c8t6的HAL库编写的,由于我只有正点原子精英板,于是便从零开始学习。欢迎大佬指正。一.更改启动文件32单片机启动文件为startup_stm32f103x6.sstartup_stm32f103xb.sstartup_stm32f103xe.sstartu
- 如何给work回调函数传递用户参数
六个九十度
驱动开发内核linux驱动workqueuework_struct
背景Linux驱动开发中,经常会用到workqueue,该数据结构管理的是一个个的work_struct结构体:structwork_struct{atomic_long_tdata;structlist_headentry;work_func_tfunc;#ifdefCONFIG_LOCKDEPstructlockdep_maplockdep_map;#endif};最近在做pcie驱动开发,有
- I.MX6u嵌入式linux驱动开发
vv不说话
MX6U嵌入式linuxlinux驱动开发运维
1:Ubuntu系统入门当Ubuntu系统入门以后,我们重点要学的就是如何在Linux下进行C语言开发,如何使用gcc编译器、如何编写Makefile文件等等首先安装虚拟机软件VM:VmwareWorkstation软件可以在Wmeare官网下载,下载地址:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluat
- 裸机开发及开发环境搭建
vv不说话
MX6U嵌入式linuxlinux
ARM的裸机开发,也就是不带操作系统开发,就和我们开发STM32一样,如果有STM32开发经验的话学起本篇会很容易1、裸机开发是了解所使用的CPU最直接、最简单的方法,裸机开发是直接操作CPU的寄存器。Linux驱动开发最终也是操作的寄存器,但是在操作寄存器之前要先编写一个符合Linux驱动的框架。同样一个点灯驱动,裸机可能只需要十几行代码,但是Linux下的驱动就需要几十行代码。2.Linux驱
- 嵌入式linux驱动开发之网络设备驱动
稚肩
嵌入式linuxlinux驱动开发php
https://bbs.csdn.net/topics/612247295简介Linux网络设备驱动是Linux内核中的一个重要组成部分,它负责网络设备的底层数据传输和设备控制。与字符设备驱动和块设备驱动相比,网络设备驱动的特点和功能如下:首先,网络设备驱动不再是对文件进行操作,而是通过网络接口structnet_device来实现。这个接口为网络设备提供了统一的数据结构和操作接口,使得不同的硬件
- linux驱动开发之常见面试问题
墨染 锦年
Linux内核驱动C语言学习linux驱动开发面试
linux驱动开发之常见面试问题新增驱动的基本操作寄存器基址怎么映射?probe里的常规操作。驱动中通常会定义一个私有结构体,里面包含一些内核结构体,但注册的时候只注册了某个成员,怎么找到这个私有结构体。什么是container_of如何给应用层提供接口什么是ioctl?如何在shell下调用驱动如何解决内核启动时卡死问题简述MMU的工作原理新增驱动的基本操作先在设备树里新建一个节点,填写comp
- rockchip的yocto编译环境搭建
良知犹存
作者:良知犹存转载授权以及围观:欢迎添加微信公众号:Conscience_Remains总述嵌入式的朋友们,应该知道Linux驱动开发过程中,需要进行搭建交叉编译工具链环境、移植u-boot、kernel、根文件系统的几个部分工作。最开始我们的学习是把几个模块分开使用学习使用,各个部分生成代码,然后进行烧录,有时候我们会用脚本去把各个部分的代码打包到一起进行烧录。后来随着工具的发,我们只需要一个S
- 【正点原子Linux连载】第三十九章 系统烧写 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
正点原子
LINUXlinuxstm32
1)实验平台:正点原子阿尔法Linux开发板2)平台购买地址:https://item.taobao.com/item.htm?id=6036727444342)全套实验源码+手册+视频下载地址:http://www.openedv.com/thread-300792-1-1.html3)对正点原子Linux感兴趣的同学可以加群讨论:9354467414)关注正点原子公众号,获取最新资料更新第三十
- linuxPWM子系统源码分析--Apple的学习笔记
applecai
一,前言所谓学习,那么就和单纯完成任务是不同的,我的学习也是有目标的,那么从linux驱动开发的角度来说,若只是配置下就能用了,这样有点知其然而不知其所以然,所以我的目标就是先会用,然后学习框架及源码,便于将来遇到问题后调试定位和代码优化。另外,最主要的就是学习linux中面向对象的抽象设计思路。所以做完了SG90的PWM后,那么就要分析PWM源码了。并且发现了看源码有助于我在写驱动的时候对函数的
- 系统移植(系统移植环境搭建及简单概念)
°嘟嘟嘟嘟
系统移植内核ubootarm
linux系统=linux内核+根文件系统;根文件系统=库(/lib和/usr/lib)+命令(/bin和/usr/bin)+配置文件(/etc)+GUI(图形化界面,如:QT)1、为什么学习系统移植为后边学习linux驱动开发打基础linux驱动开发:基于linux内核提供的接口,完成硬件驱动的开发。2、系统移植的目的给开发板移植一个linux操作系统3、如何学习系统移植系统移植都是流程化的操作
- Day1.复习Linux系统移植的内容,将内核启动流程根文件系统的制作过程整理一下。
m0_69078052
linux驱动开发运维
答:1)复习Linux系统移植:1.1系统移植就是给开发板搭建Linux操作系统。学习这门课程目的是为后面Linux驱动开发做准备,然后是驱动开发工程师必备技能。1.2系统移植前,需要我们先搭建好移植环境,知道一些gnu二进制工具集,然后会分析Makefile1.3进入正式的移植过程中,我们需要安装tftp服务器(基于UDP协议完成的简单文本文件传输。作用:通过网线下载程序到开发板上)安装nfs服
- 【linux驱动】讲解linux驱动开发中的并发与并行,并且给出解决驱动开发中资源竞争的解决方案(下)
☞黑心萝卜三条杠☜
LINUXlinux驱动开发运维
文章目录解决资源竞争的方法自旋锁信号量互斥锁开发环境:迅为3568开发板+ubuntu18.04前文【linux驱动】讲解linux驱动开发中的并发与并行,并且给出解决驱动开发中资源竞争的解决方案(上)解决资源竞争的方法自旋锁自旋锁(spinlock)是为了保护共享资源提出的一种非阻塞锁机制,也就是说,如果某线程需要获取锁,但该锁已经被其他线程占用时,该线程不会被挂起,而是在不断的消耗CPU的时间
- Linux驱动开发高精度定时器的精度测量
Rice嵌入式开发
Linux嵌入式编程语言javalinux大数据
前言今天我们来评测linux内核的高精度定时器。顺便利用通过Tektronix示波器和DS100Mini数字示波器进行交叉测试。因项目需要用到精准的时间周期,所以要评估它的可行性,并验证正点原子的示波器能不能支撑嵌入式开发流程。Linux高精度定时器说明其实传统的低分辨率定时器随着技术的演进,已经无法满足开发需求。而且硬件的不断发展,硬件定时器的精度也越来越高,这也给高精度定时器创建了有利条件。低
- Linux下驱动开发(一)
大树D
linux驱动开发
Linux驱动开发hello驱动模块的加载和卸载Linux驱动有两种运行方式,第一种就是将驱动编译进Linux内核中,这样当Linux内核启动时就会自动运行驱动程序。第二种就是将驱动编译成模块(Linux下模块扩展名为.ko),在Linux内核启动以后使用”insmod”命令加载驱动模块。在调试的时候一般编译成模块,这样不需要编译整个Linux代码。而且在调试的时候只需要加载或者卸载驱动模块即可,
- linux驱动开发——内核调试技术
宇努力学习
驱动开发linux驱动开发内核调试技术
目录一、前言二、内核调试方法2.1内核调试概述2.2学会分析内核源程序2.3调试方法介绍三、内核打印函数3.1内核镜像解压前的串口输出函数3.2内核镜像解压后的串口输出函数3.3内核打印函数四、获取内核信息4.1系统请求键4.2通过/proc接口4.3通过/sys接口4.3.1.属性4.3.2子系统操作函数五、处理出错信息5.1oops信息5.1.1.oops消息包含系统错误的详细信息5.1.2.
- 【linux驱动开发】在linux内核中注册一个杂项设备与字符设备以及内核传参的详细教程
☞黑心萝卜三条杠☜
嵌入式LINUXlinux驱动开发运维
文章目录注册杂项设备驱动模块传参注册字符设备开发环境:windows+ubuntu18.04+讯为rk3568开发板注册杂项设备相较于字符设备,杂项设备有以下两个优点:节省主设备号:杂项设备的主设备号固定为10,在系统中注册多个misc设备驱动时,只需使用子设备号进行区分即可。使用简单:相比如普通的字符设备驱动,misc驱动只需要将基本信息通过结构体传递给相应处理函数即可。在linxu系统中可使用
- Ubuntu16.04无法ping通主机filezilla无法连接虚拟机
up胖子
开发问题收集器哈!linux网关网络
项目场景:基于Ubuntu16.04虚拟机搭建的linux驱动开发环境,与主机之间的网络使用桥接模式问题描述:本来在搭建好的虚拟机上已经可以使用静态ip和连接filezilla了。可是就很奇怪的是,等我过了一段时间后再用,就不灵了,很玄学。首先虚拟机无法ping通主机,但是主机却可以ping通虚拟机,也确实在同一个网段再说ssh连接总是报错,“拒绝连接”filezilla也是拒绝连接查看了一下自己
- 三本光电从颓废到武汉年薪30w的本科经历经验与浅谈(毕业工作一年的嵌入式软件工程师经验分享)
网易独家音乐人Mike Zhou
个人经验浅谈嵌入式c语言单片机物联网mcustm3251单片机
三本光电从颓废到武汉年薪30w的本科经历经验与浅谈(毕业工作一年的嵌入式软件工程师经验分享)文章目录目前情况颓废时期项目时期第一次写单片机代码第一次接触计算机视觉第一次接触Linux驱动开发第一次接触FPGA和VerilogHDL第一次开发STM32创新实践及毕设项目时期总结就业与工作后附录:压缩字符串、大小端格式转换压缩字符串浮点数压缩Packed-ASCII字符串大小端转换什么是大端和小端数据
- 什么是设备树?
凌肖战
Linux驱动学习linuxarm开发
一.简介前面只是简单使用过设备树文件,接下来详细谈一谈设备树。掌握设备树是Linux驱动开发人员必备的技能!因为在新版本的Linux中,ARM相关的驱动全部采用了设备树(也有支持老式驱动的,比较少),最新出的CPU其驱动开发也基本都是基于设备树的,比如ST新出的STM32MP157、NXP的I.MX8系列等。我们所使用的Linux版本为4.1.15,其支持设备树,所以正点原子I.MX6U-ALPH
- 设备树文件(dts文件)的添加与编译
凌肖战
Linux驱动学习arm开发linux
一.简介前面说过,在新版本的Linux中,ARM相关的驱动全部采用了设备树(也有支持老式驱动的,比较少),最新出的CPU其驱动开发也基本都是基于设备树。所以,掌握设备树是Linux驱动开发人员必备的技能!本文学习一下设备树源文件即dts文件,以及dts文件的组织形式。二.dts文件(设备树源文件)以及组织形式1.DTS、DTB和DTC几个区别?设备树源文件扩展名为.dts,但是我们在前面移植Lin
- Linux驱动开发(1)-最简单的字符设备驱动开发例子
Embedded-Xin
Linux驱动/内核编程linux驱动开发数据结构
1.简介字符设备驱动:按照字节流进行读写操作的设备,例如点灯、按键、IIC、SPI、LCD。Linux系统中一切皆文件,驱动加载成功,就会在/dev目录生成文件,对文件操作,则可实现对硬件操作。应用程序运行在用户空间,驱动运行在内核空间,用户空间不能直接对内核操作,因此借助系统调用实现。2.字符设备驱动开发2.1内核驱动操作函数集合include/linux/fs.h中file_operation
- Linux驱动开发之Linux内核中的中断处理与等待队列以及相关API和例程分析
努力的某某姚
linux驱动开发Linux中断等待队列例程分享
目录中断的特点Linux中的中断类型相关API函数gpio_to_irq()enable_irq()disable_irq()request_irq()free_irq()中断的使用等待队列DECLARE_WAIT_QUEUE_HEAD()wait_event_interruptible()wake_up_interruptible()中断相关例程例程分析源码分享总结中断是计算机中实现异步事件处理
- Linux驱动开发笔记(六):用户层与内核层进行数据传递的原理和Demo
长沙红胖子Qt软件开发
linux驱动开发linux驱动开发copy_to_usercopy_from_user用户与内核数据交互
若该文为原创文章,转载请注明原文出处本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135384355红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…Linux系统移植和驱动开发专栏上一篇:《Linux驱动开发笔记(五):驱动连接用户层与
- linux驱动开发学习3 pinctl和gpio子系统试验
西伯利亚大草原的狼
Linux驱动层开发linux学习运维
linux对于gpio有专门的驱动框架借助pinctl子系统做pin的复用·和电气属性借助gpio子系统来使用gpio大多数SOC的pin都是支持复用的,比如I.MX6ULL的GPIO1_IO03既可以作为普通的GPIO使用,也可以作为I2C1的SDA等等。此外我们还需要配置pin的电气特性,比如上/下拉、速度、驱动能力等等。传统的配置pin的方式就是直接操作相应的寄存器,但是这种配置方式比较繁琐
- ASM系列五 利用TreeApi 解析生成Class
lijingyao8206
ASM字节码动态生成ClassNodeTreeAPI
前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。
在介绍前,先要知道一点, Tree工程的接口基本可以完
- 链表树——复合数据结构应用实例
bardo
数据结构树型结构表结构设计链表菜单排序
我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。
需求简介:
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后
- 为啥要用位运算代替取模呢
chenchao051
位运算哈希汇编
在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧,
JDK6中的HashMap中的indexFor方法:
/**
* Returns index for hash code h.
*/
static int indexFor(int h, int length) {
- 最近的情况
麦田的设计者
生活感悟计划软考想
今天是2015年4月27号
整理一下最近的思绪以及要完成的任务
1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为
- PHP去掉字符串中最后一个字符的方法
IT独行者
PHP字符串
今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下:
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr;
- hadoop在linux上单机安装过程
_wy_
linuxhadoop
1、安装JDK
jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_25  
- JAVA进阶----分布式事务的一种简单处理方法
无量
多系统交互分布式事务
每个方法都是原子操作:
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法
A系统调用B,C,D系统完成分布式事务
=========执行开始========
A.aa();
try {
B.bb();
} catch(Exception e) {
A.rollbackAa();
}
try {
C.cc();
} catch(Excep
- 安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉
矮蛋蛋
hadoop互联网
“谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。
到底什么是移动DSP呢?
DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广
- myelipse设置
alafqq
IP
在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。
注释模板导入步骤
安装方法:
打开eclipse/myeclipse
选择 window-->Preferences-->JAVA-->Code-->Code
- java数组
百合不是茶
java数组
java数组的 声明 创建 初始化; java支持C语言
数组中的每个数都有唯一的一个下标
一维数组的定义 声明: int[] a = new int[3];声明数组中有三个数int[3]
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数
- javascript读取表单数据
bijian1013
JavaScript
利用javascript读取表单数据,可以利用以下三种方法获取:
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id");
2、通过表单名称属性:var b = document.getElementsByName("name");
3、直接通过表单名字获取:var c = form.content.
- 探索JUnit4扩展:使用Theory
bijian1013
javaJUnitTheory
理论机制(Theory)
一.为什么要引用理论机制(Theory)
当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。
TDD 的优点:
&nb
- [Spring Data Mongo一]Spring Mongo Template操作MongoDB
bit1129
template
什么是Spring Data Mongo
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括
1. 封装客户端跟MongoDB的链接管理
2. 文档-对象映射,通过注解:@Document(collectio
- 【Kafka八】Zookeeper上关于Kafka的配置信息
bit1129
zookeeper
问题:
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里
4. Producer跟Zookeeper究竟有没有关系?没有关系!!!
//consumers、config、brokers、cont
- java OOM内存异常的四种类型及异常与解决方案
ronin47
java OOM 内存异常
OOM异常的四种类型:
一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。
二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx
- java-实现链表反转-递归和非递归实现
bylijinnan
java
20120422更新:
对链表中部分节点进行反转操作,这些节点相隔k个:
0->1->2->3->4->5->6->7->8->9
k=2
8->1->6->3->4->5->2->7->0->9
注意1 3 5 7 9 位置是不变的。
解法:
将链表拆成两部分:
a.0-&
- Netty源码学习-DelimiterBasedFrameDecoder
bylijinnan
javanetty
看DelimiterBasedFrameDecoder的API,有举例:
接收到的ChannelBuffer如下:
+--------------+
| ABC\nDEF\r\n |
+--------------+
经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到:
+-----+----
- linux的一些命令 -查看cc攻击-网口ip统计等
hotsunshine
linux
Linux判断CC攻击命令详解
2011年12月23日 ⁄ 安全 ⁄ 暂无评论
查看所有80端口的连接数
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态
n
- Spring获取SessionFactory
ctrain
sessionFactory
String sql = "select sysdate from dual";
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&
- Hive几种导出数据方式
daizj
hive数据导出
Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用
- 编程之美
dcj3sjt126com
编程PHP重构
我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解
header("Content-type: text/plain");
function static_function () {
static $i = 0;
if ($i++ < 1
- Android保存用户名和密码
dcj3sjt126com
android
转自:http://www.2cto.com/kf/201401/272336.html
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码
1、通过普通 的txt文本存储
2、通过properties属性文件进行存
- Oracle 复习笔记之同义词
eksliang
Oracle 同义词Oracle synonym
转载请出自出处:http://eksliang.iteye.com/blog/2098861
1.什么是同义词
同义词是现有模式对象的一个别名。
概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过
- Ajax案例
gongmeitao
Ajaxjsp
数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;
//获取数据库连接的类public class DBConnec
- ASP.NET中Request.RawUrl、Request.Url的区别
hvt
.netWebC#asp.nethovertree
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&
- SVG 教程 (七)SVG 实例,SVG 参考手册
天梯梦
svg
SVG 实例 在线实例
下面的例子是把SVG代码直接嵌入到HTML代码中。
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。 SVG 实例
SVG基本形状
一个圆
矩形
不透明矩形
一个矩形不透明2
一个带圆角矩
- 事务管理
luyulong
javaspring编程事务
事物管理
spring事物的好处
为不同的事物API提供了一致的编程模型
支持声明式事务管理
提供比大多数事务API更简单更易于使用的编程式事务管理API
整合spring的各种数据访问抽象
TransactionDefinition
定义了事务策略
int getIsolationLevel()得到当前事务的隔离级别
READ_COMMITTED
- 基础数据结构和算法十一:Red-black binary search tree
sunwinner
AlgorithmRed-black
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known
- centos同步时间
stunizhengjia
linux集群同步时间
做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o
- ITeye 9月技术图书有奖试读获奖名单公布
ITeye管理员
ITeye
ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《NFC:Arduino、Andro