为C++开火受启发的FireforC++是一个单个标头库,可从函数签名创建命令行界面。
这是使用命令即将两个数字相加的整个程序:#include#includeintfired_main(intx=fire::arg("-x"),inty=fire::arg("-y")){std::cout<<x+y<<std::endl;return0;}FIRE(fired_main)就这样。
用法:$./add-x=1-y=23如您所料,--help显示带有必需参数及其类型的有意义的消息。
将显示一条错误消息,说明使用不正确。
该程序可在Linux,Windows和MacOS上运行。
有关其他类型的参数,请参见。
为什么还有另一个CLI库?对于大多数库,创建CLI大致遵循以下模式:定义参数调用parse(argc,argv);检查parse()是否检测到错误,将其打印并返回(可选)检查-h和--help,打印帮助消息
1
很实用的Verilog实例!目录:王金明:《VerilogHDL程序设计教程》程序例子,带说明。
【例3.1】4位全加器【例3.2】4位计数器【例3.3】4位全加器的仿真程序【例3.4】4位计数器的仿真程序【例3.5】“与-或-非”门电路【例5.1】用case语句描述的4选1数据选择器【例5.2】同步置数、同步清零的计数器【例5.4】用initial过程语句对测试变量A、B、C赋值【例5.5】用begin-end串行块产生信号波形【例5.6】用fork-join并行块产生信号波形【例5.7】持续赋值方式定义的2选1多路选择器【例5.8】阻塞赋值方式定义的2选1多路选择器【例5.9】非阻塞赋值【例5.10】阻塞赋值【例5.11】模为60的BCD码加法计数器【例5.12】BCD码—七段数码管显示译码器【例5.13】用casez描述的数据选择器【例5.15】用for语句描述的七人投票表决器【例5.16】用for语句实现2个8位数相乘【例5.17】用repeat实现8位二进制数的乘法【例5.18】同一循环的不同实现方式【例5.19】使用了`include语句的16位加法器【例5.20】条件编译举例【例6.1】加法计数器中的进程【例6.2】任务举例【例6.3】测试程序【例6.4】函数【例6.5】用函数和case语句描述的编码器(不含优先顺序)【例6.6】阶乘运算函数【例6.7】测试程序【例6.8】顺序执行模块1【例6.9】顺序执行模块2【例6.10】并行执行模块1【例6.11】并行执行模块2【例7.1】调用门元件实现的4选1MUX【例7.2】用case语句描述的4选1MUX【例7.3】行为描述方式实现的4位计数器【例7.4】数据流方式描述的4选1MUX【例7.5】用条件运算符描述的4选1MUX【例7.6】门级结构描述的2选1MUX【例7.7】行为描述的2选1MUX【例7.8】数据流描述的2选1MUX【例7.9】调用门元件实现的1位半加器【例7.10】数据流方式描述的1位半加器【例7.11】采用行为描述的1位半加器【例7.12】采用行为描述的1位半加器【例7.13】调用门元件实现的1位全加器【例7.14】数据流描述的1位全加器【例7.15】1位全加器【例7.16】行为描述的1位全加器【例7.17】混合描述的1位全加器【例7.18】结构描述的4位级连全加器【例7.19】数据流描述的4位全加器【例7.20】行为描述的4位全加器【例8.1】$time与$realtime的区别【例8.2】$random函数的使用【例8.3】1位全加器进位输出UDP元件【例8.4】包含x态输入的1位全加器进位输出UDP元件【例8.5】用简缩符“?”表述的1位全加器进位输出UDP元件【例8.6】3选1多路选择器UDP元件【例8.7】电平敏感的1位数据锁存器UDP元件【例8.8】上升沿触发的D触发器UDP元件【例8.9】带异步置1和异步清零的上升沿触发的D触发器UDP元件【例8.12】延迟定义块举例【例8.13】激励波形的描述【例8.15】用always过程块产生两个时钟信号【例8.17】存储器在仿真程序中的使用【例8.18】8位乘法器的仿真程序【例8.19】8位加法器的仿真程序【例8.20】2选1多路选择器的仿真【例8.21】8位计数器的仿真【例9.1】基本门电路的几种描述方法【例9.2】用bufif1关键字描述的三态门【例9.3】用assign语句描述的三态门【例9.4】三态双向驱动器【例9.5】三态双向驱动器【例9.6】3-8译码器【例9.7】8-3优先编码器【例9.8】用函数定义的8-3优先编码器【例9.9】七段数码管译码器【例9.10】奇偶校验位产生器【例9.11】用if-else语句描述的4选1MUX【例9.12】用case语句描述的4选1MUX【例9.13】用组合电路实现的ROM【例9.14】基本D触发器【例9.15】带异步清0、异步置1的
2020/10/10 20:05:56 127KB Verilog 实例 经典
1
Linux下多线程计算圆周率C言语//实现一个用多线程计算π(圆周率)的程序。
#include#include#include#include#defineN50000//设定计算次数#defineNUM2//设定线程数,经过反复实验,在装有1个双核CPU的机器上,两个线程最快doublesum=0.0;//用于存储结果pthread_mutex_tmutex=PTHREAD_MUTEX_INITIALIZER;void*thread(void*);intmain(void){ pthread_tarray[NUM]; inti;。

















2015/5/16 23:15:01 1KB Linux 多线程 圆周率 C语言
1
本人训练SVM分类器进行HOG行人检测.环境为VS2010+OpenCV2.4.4.使用时请自行修改工程的include目录和lib目录配置。
正样本来源是INRIA数据集中的96*160大小的人体图片,使用时上下左右都去掉16个像素,截取中间的64*128大小的人体。
负样本是从不包含人体的图片中随机裁取的,大小同样是64*128。
SVM使用的是OpenCV自带的CvSVM类。
2016/1/26 4:29:46 23.65MB SVM HOG 自己训练
1
模仿数据链路层的gobackn协议/*该协议是搭载ack的回退n步协议*/#include#include"protocol.h"#definemax_seq7#defineflag126#defineESC100#definewait_time2700 //发送计时器等待的时间#defineack_wait_time280staticintphl_ready=0;unsignedcharbuf[max_seq+1][270];unsignedcharack[8];//发送空的ack帧unsignedcharin_buf[600],last_buf[520];//接收时的缓冲区;去掉冗余之后的缓冲区,为防备因误码两帧合并为一帧而定义了很大一个数组intnbuffered=0;//发送的帧数intbuf_size[max_seq+1];//记下以发送各帧的帧长intnext_frame_to_send=0;intframe_in_phl=0;//用于成帧intframe_expected=0;intack_expected=0;intbetween(inta,intb,intc){ if(((a<=b)&&(b<c))||((c<a)&&(a<=b))||((b<c)&&(c<a))) return1; elsereturn0;}//判断帧尾,防止出现误判escescflag为数据的情况intend_flag(intin_len){ intcount=0; inti; if(in_len=0;i--)//记录flag前的esc数目 count++; returncount%2;//若flag前的esc为偶数,则为帧尾}//成帧函数--数据帧voidsend_frame(char*my_buf,intlen){ intn; buf[frame_in_phl][0]=(frame_expected+max_seq)%(max_seq+1); //ack buf[frame_in_phl][1]=frame_in_phl; //发送帧的帧号 for(n=0;n<len;n++) buf[frame_in_phl][n+2]=my_buf[n]; //将处理过的新帧赋值到缓冲区中 len=len+2; *(unsignedint*)(buf[frame_in_phl]+len)=crc32(buf[frame_in_phl],len); //在原始帧的基础上加检验和 buf_size[frame_in_phl]=len+4; //记录当前帧的长度,包括3个帧头,4个检验和 nbuffered=nbuffered+1; //缓冲区占用数加一 frame_in_phl=(frame_in_phl+1)%(max_seq+1);}//成帧函数--ack帧voidsend_ack() //ack帧的处理{ ack[0]=(frame_expected+max_seq)%(max_seq+1); ack[1]=max_seq+10; //ack帧的序号位,使ack[1]==frame_expected恒不成立 *(unsignedint*)(ack+2)=crc32(ack,2); //在原始帧的基础上加检验和}//主函数intmain(intargc,char**argv){intevent,arg,n,m,i,j,len=0,in_len=0; unsignedcharmy_buf[260]; intphl_wait=0;//在物理层中还没有被发送的帧protocol_init(argc,argv);enable_network_layer();for(;;){event=wait_for_event(&arg);switch(event){caseNETWORK_LAYER_READY:
2019/7/26 21:18:43 425KB go back n gobackn
1
tesseract-3.02.02-win32-lib-include-dirs
2016/1/6 16:33:08 28MB tesseract
1
QT对MQTT的开发依赖库,可直接将紧缩包内的文件添加到工程当中,并#include"qmqtt.h"头文件之后,即可创建MQTT对象
2017/2/20 21:53:51 84KB MQTT
1
[例3.6]某对称离散信道的信道转移概率矩阵P为:1/31/31/61/61/61/61/31/3计算其最佳信源概率和信道容量C。
附:程序代码如下:#include#include#defineMAX50doubleCalculate_a(intk,doublepa[]);doubleCalculate_C1(doublepa[],doublea[]);doubleCalculate_C2(doublea[]);intr,s;doublepba[MAX][MAX];voidmain(){ inti,j;doubleC1,C2,E; doublea[MAX],pa[MAX]; E=0.000001; printf("请输出信源符号个数r:\n"); scanf("%d",&r); printf("请输出信宿符号个数s:\n"); scanf("%d",&s); printf("请输出精确度E:\n"); scanf("%lf",&E); printf("请输出信源P[ai]:\n"); for(i=0;i<r;i++) scanf("%lf",&pa[i]); printf("请输出信道转移概率矩阵P[bj][ai]:\n"); for(i=0;i<r;i++) for(j=0;j<s;j++) scanf("%lf",&pba[i][j]); do { for(i=0;i=E) { doublesum=0; for(i=0;i<r;i++) sum+=pa[i]*a[i]; for(i=0;i<r;i++) pa[i]=pa[i]*a[i]/sum; } else { printf("最佳信源概率:\n"); for(i=0;i=E);printf("信道容量为:%lf\n",C1/log(2));}doubleCalculate_a(intk,doublepa[]){ inti,j; doubletemp,sum2=0; for(j=0;j<s;j++) { doublesum1=0; for(i=0;i<r;i++) { sum1+=pa[i]*pba[i][j]; } temp=pba[k][j]/sum1; temp=log(temp); sum2+=pba[k][j]*temp; } returnexp(sum2);}doubleCalculate_C1(doublepa[],doublea[]){ inti; doublesum=0; for(i=0;i<r;i++) sum+=pa[i]*a[i]; returnlog(sum);}doubleCalculate_C2(doublea[]){ inti; doublemax=a[0]; for(i=0;i<r;i++) if(max<a[i])max=a[i]; returnlog(max);}
1
windows下的FFmpeg,撑持h264转码。
builtonAug14201212:01:08withgcc3.4.5(mingw-vistaspecialr3)configuration:--enable-shared--disable-static--enable-memalign-hack--enable-libmp3lame--enable-libx264--enable-gpl--extra-cflags=-I/usr/local/include--extra-ldflags=-L/usr/local/lib
2016/7/3 5:27:38 4.31MB windows FFmpeg 支持h264
1
旧的Linux版本没有了videodev.h文件,但是编译某些库时需求用到,如fatalerror:linux/videodev.h:Nosuchfileordirectory。
下载此文件,放到/usr/include/linux/videodev.h即可
2017/5/13 5:03:11 14KB videodev.h
1
共 218 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡