- 嵌入式学习DAY28 --- 线程、同步和互斥问题、如何实现同步和互斥?
楼台的春风
嵌入式学习多线程c语言嵌入式linuxubuntu
嵌入式入门学习笔记,遇到的问题以及心得体会!DAY28概述:一、线程二、同步和互斥问题三、如何实现同步四、如何实现互斥笔记:一、线程1、什么是线程:(1)线程是轻量级的进程(2)线程存在于进程内,不能独立存在(3)线程参与CPU调度,进程是系统资源分配最小单位,线程是系统调度的最小单位(4)在单核CPU中,多线程并发属于伪并发,但是不牵扯虚拟地址空间的切换,所以开销比进程间切换要小很多(5)在多核
- 嵌入式学习第十七天--fileio
嵌入式小黑子
linxu高级编程学习springjava
fileIo文件操作:缓存操作对象具体操作标准IO全缓存/行缓存文件指针(流指针)FILE*1.打开--fopen(库函数)2.读写fgetc/fputcfgets/fputsfread/fwrite3.关闭fclose4.定位fseek/ftell/rewind空洞文件文件IO不带缓存文件描述符(整数)1.打开--open(系统调用)2.读写--read/write3.关闭--close4.定位
- 嵌入式学习-----liunx中断相关编程
agentky
嵌入式学习
设备树里使用中断①interrupt-parent=你要用哪一个中断控制器里的中断?②interrupts你要用哪一个中断?Interrupts里要用几个cell,由interrupt-parent对应的中断控制器决定。在中断控制器里有“#interrupt-cells”属性,它指明了要用几个cell来描述中断。例如一个cell来表明使用“哪一个中断”另一个cell来描述中断,一般是表明触发类型。
- 为什么越来越多的人使用嵌入式仿真实验教学平台进行嵌入式学习?
嵌入式仿真实验教学平台
学习嵌入式硬件嵌入式实时数据库c语言stm32
在现代嵌入式技术快速发展的背景下,越来越多的学习者和开发者开始关注嵌入式仿真实验教学平台(app.puliedu.com)的使用。这种教学平台凭借其独特的优势,正在改变传统的嵌入式学习方式,成为嵌入式教育领域的“新宠”。那么,为什么会出现这种现象?以下是一些主要原因:1.安全性高,避免硬件风险嵌入式技术的核心在于硬件与软件的深度结合。在实际开发中,硬件调试和实验可能会遇到各种问题,比如元件烧坏、信
- 蓝桥杯嵌入式学习(八)UART
2301_78114356
学习
一.引言串口通信是指通过串行接口进行数据传输的一种通信方式。串口通信原理1.串口硬件连接串口通信需要将数据线和控制线连接到两个设备之间的串行接口。通常串口包括两个数据线(发送线和接收线)和多个控制线(时钟线,使能线,数据位线,校验位线和停止位线)2.串口通信协议在串口通信中,通常需要使用一种特定的通信协议,如如RS-232、RS-485、UART等。这些协议规定了数据的传输格式,时钟速率,数据位数
- ARM嵌入式学习--第十二天(WDOG,RTC)
戒燥.
学习armarm开发单片机
--WDOG-介绍WatchDog是为了能够防止程序跑飞而使用的一种硬件模块,如果你的程序没有跑飞,那么你的程序会定时的去喂看门狗;如果你的程序跑飞了,那么就不会再去喂狗了,如果超过了喂狗时间,那么狗就会自己生成一个信号来重新reset你的CPU让程序重新开始。这是一种在很重要的情况下防止系统跑飞的一种方式-编程思路1.设置复位信号产生后以冷启动方式复位2.关闭看门狗控制器3.设置看门狗定时器定时
- STM32 ADC
Asa319
stm32#定时器外设stm32嵌入式硬件单片机
stm32单片机-ADC-技术详细解+程序示范(FREERTOS+HAL+多通道+DMA)-知乎(zhihu.com)记录自己的嵌入式学习之路-CSDN博客【STM32】ADC_stm32adc-CSDN博客STM32——ADC篇(ADC的使用)_stm32adc-CSDN博客【STM32ADC】-CSDN博客
- 嵌入式学习
风华漫舞21
linuxc语言vim
#C语言基础#今天学习了输入输出函数(printf、scanf)、流程控制——选择结构(if语句)#输入输出函数#printf()函数printf()函数为格式化输入输出函数,其函数原型为:intprintf(constchar*format,...);调用方法为:printf("格式化控制字符串",输出参数列表)。格式化字符串中分为普通字符和占位符,其中普通字符原样输出;占位符用参数列表中的数值
- 03月26日长光培训嵌入式学习第四十七天课设第一天
长光培训_王任
早上接到钟老师的通知周日答辩!!这意味着终于到了对这几个月来学习成果的检验时刻。一周的时间完成智能家居嵌入式系统的开发,将课程所学内容进行融合和综合应用,也是对从理论到实践的一次能力提升之旅。今天主要的任务是明确自身要完成的功能,进行管脚及各种通信协议的统筹分配与全局规划,为后几天的编译做好准备工作。好的开头是成功的一半,对于准备工作一定要做到认真细致,只有这样才会让自己在后面几天中能够按照计划有
- 物联网嵌入式的认识
小珑也要变强
物联网数据库嵌入式硬件stm32单片机
文章目录自我介绍什么是嵌入式?嵌入式产品的应用场景嵌入式行业——国家策略嵌入式学习可以选择的方向未来博客的书写内容适应人群自我介绍 Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”,现在我来为大家介绍一下有关嵌入式方面的内容。在进入介绍之前,可能有一些小伙伴不了解易编程·终身成长社群;想要进一步了解社群的小伙伴可以点击下方链接自行跳转至关于社群的
- 嵌入式学习之路 16(C语言基础学习——指针操作二维数组、指向函数的指针、指针的指针)
求学者1.0
学习c语言数据结构
一、指针操作二维整型数组1、二维数组的本质在C语言中,二维数组本质上是由多个一维数组组成的。例如,inta[2][3]可以看作是包含两个长度为3的一维整数数组。2、指针与二维数组对于二维数组inta[2][3],&a[0]的类型是int(*)[3],因为C语言中不直接支持int[3]*这种类型,所以需要使用int(*)[3]来表示指向包含3个整数的一维数组的指针。定义指针int(*p)[3]=a;
- 嵌入式学习 18(Linux高级编程——文件- 标准IO)
求学者1.0
学习c语言
Linux中一切都是文件。学习使用man指令查询函数功能:输入man命令加上要查询的函数名称,手册页将显示有关该函数的详细信息,包括函数的用途、语法、参数、返回值、示例等。手册页通常分为不同的部分,例如名称、概要、描述、返回值、错误、示例、参见等。fopen()函数函数原型:FILE*fopen(constchar*pathname,constchar*mode);pathname表示要打开的文件
- 嵌入式学习心得(二)
Whyme7
C语言之父-----丹吉斯.里奇Linux与UNLX的发展过程中对我的影响:unlx在国外是一种商业开发的模板,对于Linux而言在当时有着无法比拟的优势,但是由于其付费模式的应用,是的不少人对于这种模式的反感,是的网络上出现了开源社区,而Linux就在这种环境中成长了,得益于GPL协议,不断地技术人员将改良后的可供开发人员使用的开源的Linux软件上传到开源社区中,是的其不断完善,也变得相当的安
- 嵌入式学习(数据库)
小林王斯
数据库学习
数据库的定义:可以理解为数据库是用来存放数据的一个容器。有了数据库后,我们可以直接查找数据。或者可以对数据库进行读写删除等操作。Sqlite小型数据库.Sqlite特点:可以实现大数据量的管理读写速度慢最常见的数据库类型是关系型数据库管理系统(RDBMS):RDRMS中的数据存储在被称为表(tables)的数据库对象中。表是相关的数据项的集合,它由列和行组成创建表:CREATETABLE表名称例如
- LVGL---对象(lv_obj_t)
嵌入式学习_force
lvglc
ESP32S3+双模蓝牙智能音箱项目总目录_esp32项目_嵌入式学习_force的博客-CSDN博客目录一.LVGL对象概念二.基本属性1.位置(Position)和大小注意:2.父类(Parent)LVGL采用面向对象的编程思想(OOP),她的基本构造块
- 嵌入式学习日记---DAY8
xxpro
学习
一、字符型二维数组二、函数定义函数名:和变量名要求保持一致函数类型:函数运行结果的类型###注意:如果返回值类型与函数类型不一致,会将返回值强制类型转换成函数类型返回不写函数类型默认为int类型如果没有返回值,函数类型应该为void类型,return后面什么都不写调用###注意:1.实参个数必须与形参个数一致,并一一对应2.实参可以是常量、变量、表达式3.实参与形参类型不一致时,会将实参强制类型转
- 嵌入式学习——4——c++ 结构体+类
koka_jerry
学习c++算法
1、数据类型基本数据类型:char、int、float、double、string、bool构造数据类型:数组、指针、结构体、共用体、枚举、类2、引用引用就是别名数据类型&引用名=同类型的变量名(&引用符号)inta=10;int&b=a;//b引用a.或者给a取个别名叫b引用的目标一旦指定,就不可以改变数组引用//定义一个数组inta[5]={10,20,30,40,50};//数组指针int(
- 嵌入式学习(网络通信UDP\TCP)
小林王斯
学习udptcp/ip
TCP:面向连接的协议。在数据传输前,必须先建立一条从源到目的地的可靠连接。双方通过“三次握手”过程协商连接参数,建立连接后才能进行数据传输。数据传输结束后,通过“四次挥手”断开连接。UDP:无连接的协议。无需事先建立连接,发送方可以直接向接收方发送数据报文。每个数据报文独立传输,相互之间没有直接关联。在网络通信中,不同端对应的任务和作用也不一样。对于客户端:1,创建一个用于通信的套接字(fd)2
- 嵌入式学习-C++-Day2
CherylYYYYYY
学习c++算法
思维导图作业自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height),定义公有成员函数:初始化函数:voidinit(intw,inth)更改宽度的函数:set_w(intw)更改高度的函数:set_h(inth)输出该矩形的周长和面积函数:voidshow()代码如下#includeusingnamespacestd;classRect{private:intwid
- 嵌入式学习-C++-Day3
CherylYYYYYY
学习c++开发语言
思维导图作业设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函数、析构函数和拷贝构造函数。代码#includeusingnamespacestd;classPer{private:stringname;intage;double*height;double*weight;public:Per(){c
- 嵌入式学习-C++-Day6
CherylYYYYYY
学习c++开发语言
思维导图作业以下是一个简单的比喻,将多态概念与生活中的实际情况相联系:比喻:动物园的讲解员和动物表演想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员,他会为每种动物表演做简单的介绍。在这个场景中,我们可以将动物比作是不同的类,而每种动物表演则是类中的函数。而讲解员则是一个基类,他可以根据每种动物的特点和表演,进行相应的介绍。具体过程如下:定义一个
- 嵌入式学习-C++Day7&&QT Day1
CherylYYYYYY
学习c++qt
思维导图作业:窗口的一些操作的实现#include"mywidget.h"Mywidget::Mywidget(QWidget*parent):QWidget(parent){this->setWindowTitle("QQ");this->setWindowIcon(QIcon("C:\\Users\\xuyan\\Desktop\\others\\1.jpg"));this->setStyle
- 嵌入式学习步骤
华清远见成都中心
学习
嵌入式行业是一个涉及广泛领域的行业,嵌入式、物联网、人工智能、智能与科学、电子信息工程、通信工程、自动化工程、测控、计算机科学等专业在嵌入式系统中使得软件和硬件的结合更加高效,适合从事嵌入式物联网开发。嵌入式学习步骤总结如下:(1).确定目标平台:选择适合您要开发的嵌入式系统的硬件平台。这取决于您要控制的设备以及您需要执行的任务。(2).选择编程语言:嵌入式系统通常使用C或C++等低级编程语言编写
- 【嵌入式学习】IO网络接口day02.18
康康宝
学习
1.使用fgets统计给定文件的行数#include#include#includeintmain(intargc,constchar*argv[]){FILE*fp=NULL;if((fp=fopen("./test1.txt","r"))==NULL){perror("错误信息");return-1;}intcount=0;charstr[100];while(fgets(str,sizeof
- 【嵌入式学习】IO进程线程day02.19
康康宝
学习
一、思维导图二、习题1、使用fread和fwrite完成两个文件的拷贝#includeintmain(intargc,constchar*argv[]){FILE*fp=NULL;if((fp=fopen("./218.bmp","r"))==NULL){perror("错误信息");return-1;}FILE*fq=NULL;if((fq=fopen("./hs1.bmp","w"))==NU
- 【嵌入式学习】C基础day01.07---函数
康康宝
学习
一、思维导图二、练习1、在主函数定义二维数组,在有参无返函数中实现杨辉三角代码部分#include#include#includevoidfun(intn){intarr[n][n];for(inti=0;i#include#includeintfun(intarr[][6],intn){intmax=arr[0][0];intlemax={1};for(inti=0;imax)max=arr[i
- 【嵌入式学习】数据结构day01.23---顺序表
康康宝
学习数据结构
一、思维导图二、顺序表相关功能代码主函数main.c#include"head.h"intmain(intargc,constchar*argv[]){//在堆区申请内存sqlist*p=create();intindex;intn;datatypekey;printf("输入数据个数");scanf("%d",&n);datatypeelement;for(inti=0;idata,0,size
- 【嵌入式学习】数据结构day01.24---单向链表
康康宝
数据结构学习链表linuxc语言ubuntu
一、思维导图二、相关代码1、主函数main.c#include"head.h"intmain(intargc,constchar*argv[]){intn,pos,t;datatypekey,element;printf("输入n个节点:");scanf("%d",&n);Linklisthead=NULL;for(inti=0;idata=0;p->next=NULL;returnp;}/**f
- 【嵌入式学习】c高级day12.15---shell脚本(3)
康康宝
学习ubuntulinuxc语言
一,思维导图二,习题1.代码#!/bin/bashfunctionHang(){grep-n"^$1"/etc/passwd|cut-d":"-f1}b=`Hang$1`echo$bfunctionJie(){grep-n"$1"/etc/passwd|cut-d"/"-f5}c=`Jie$1`echo$cfunctionId(){grep-n"$1"/etc/passwd|cut-d":"-f4
- 嵌入式学习记录20
挽梦422
学习
标准IO和文件IO的区别:1.标准IO是库函数,是对系统调用的封装2.文件IO是系统调用,是Linux内核中的函数接口3.标准IO是有缓存的4.文件IO是没有缓存的文件IO:1.操作步骤:打开->读/写->关闭2.打开文件:open形式:intopen(constchar*pathname,intflags);intopen(constchar*pathname,intflags,mode_tmo
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
- 【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
- 自动补全
huyana_town
自动补全
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo
- jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
- ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
- 利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
- Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
- hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul