java,架构,编程语言相关专家
1.函数模板初级,如果想使用模板,需要实例化,实例化的方式是加上<数据类型> #include <iostream> //函数模板可以对类型进行优化重载,根据类型会覆盖 //如果仍然要使用模板函数,需要实例化 template<class T> T add(T a, T b)
1、函数包装器 #include<iostream> #include<functional> //函数包装器 //第一,设计执行接口,接口设计关卡(),计数 //第二,函数包装器依赖于函数模板,实现通用泛型 //第三,函数代码可以内嵌在另外一个函数,实现函数怀孕 //函数包装器,用于管理内嵌函数,外部
1、引用内部函数绑定机制 #include<iostream> #include<functional> usingnamespacestd; usingnamespacestd::placeholders; //仿函数,创建一个函数指针,引用一个结构体内部或者一个类内部的共有函数 structMy
1.auto关键字的用途 A:自动变量,可以自动获取类型,输出,类似泛型 B:自动变量,可以实现自动循环一维数组 C:自动循环的时候,对应的必须是常量 2.auto自动变量,自动匹配类型的案例如下: 注意:如果是在QT下运行上面的的程序需要加上C++11的相关配置(CONFIG += C++11) 3.通过auto关键字自动循环一
1、 编写文件操作的头文件 /************************************************************************** Copyright(C) :2014-08-5 toto Filename :file.h Author :涂作权 Version :V1.1
新建QT项目 项目结构: 2.打开QT图形编辑界面,通过拖动组件的方式生成如下界面: 3.为确定按钮添加事件。选中按钮à转到槽,截图如下: 点击clicked按钮,添加事件代码如下: 4下面是手动编写一个QT案例: 5.新建QT项目
1友元:C++控制类对象私有部分的访问,但有时候需要在类的外部访问类的私有成员,这种情况下C++提供了友元机制。 创建友元函数步骤: A:将函数声明放到类的声明中,并在原型前加上关键字friend friend 返回值 函数名称(参数列表); friend classclassname; B:编写友元函数定义,不需要再定义中使
拷贝构造 #include <iostream> #include <string.h> using namespace std; class mystring { public: char *s; public: mystring()
配置QT下的pro文件 TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt LIBS += -lWs2_32 ##标示使用window下的Ws2_32.lib,-l表示要链接后面的库 #-lWs2_32,link Ws2_32.lib SOURCES +
配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\QtCreator\bin 创建一个QT项目:winAndLinuxMyUdpProject项目 修改QT的项目文件,修改winAndLinuxMyUd
1.一个最基本的C++程序 2.第二个c++程序 3.第一个入门级别的简单的makefile 4.在makefile中定义变量。 5.编写makefile的依赖 如果start:标识后面的某个.o没有,则重新编译没有编译的那个文件 6.最终的makefile文件 总结:makefi
配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\QtCreator\bin 创建一个QT项目:winAndLinuxMyUdpProject项目 修改QT的项目文件,修改winAndLinuxMyUd
目 录 1 开始学习C++.............................................................................................................. 4 1.1 C++的头文件......................
#include<stdio.h> #include<stdlib.h> void change(int *pa, int *pb)//根据地址交换两个变量的值 { int temp = *pa; *pa = *pb; *pb = temp; }
1.volatile:要求参数修改每次都从内存中的读取。这种情况要比普通运行的变量需要的时间长。 #include <stdio.h> #include <stdlib.h> #include <time.h> void main() { time_t start, end;
编写头文件 struct queue { int num; //代表数据 int high; //优先级1111 struct queue *pNext;//存储下一个节点的地址 }; typedef struct queue
1.编写头文件 #define datatype int struct statcknode { int num; //编号 datatype data; //数据 struct statcknode *pNext;//指针域 };
1、fseek,ftell,fread,fwrite(简单文件加密) #define _CRT_SECURE_NO_WARNINGS //去掉安全检查 #include <stdio.h> #include <stdlib.h> /*读取文件大小*/ int getfilesize(char *pa
1.编写头文件 #include<stdio.h> #include<stdlib.h> #define datatype int struct node { int num; //编号 datatype data; //存储的数据
1.静态库不需要main函数,要想生成lib,要修改属性à常规à配置类型à改成dll 2.静态库中的头文件只是说明,是给程序员看的,其实lib里面已经有了接口。 3.链接lib的时候程序的体积就变大了。 4.静态库更新的时候,需要重新生成,然后调用 5.动态库调用就不用重新生成。 6.动态库的调用代码:(使用的是HMODULELoadLibrary
1.编写头文件 #define _CRT_SECURE_NO_WARNINGS //#pragmawarning(disable:4996) #include <stdio.h> #include <stdlib.h> #include <string.h> struct CString
struct定义 #include<stdio.h> #include<stdlib.h> //最宽基本成员,char,int,double,结构体数组都不是最宽基本成员 //结构体大小必须可以整除最宽基本成员,是最宽基本成员的整数倍 //结构体成员地址减去结构体首地址,就是偏移量,偏移量必须可以整除成员
int sprintf( char *buffer, const char *format[, argument]... ); buffer:Storage location for output 存储位置 format:Format-control string :格式化控制的字符串 argument:Optional arguments
1.编写queue.h #include<stdio.h> #include<stdlib.h> #define N 100 //定义队列最大多少个 #define datatype char //定义队列的数据类型 struct queue { datatype
加有const关键字的几种情况的辨析 const修饰的代码 含义(特点) 等价性 int *p = &num; 1. 可以读自己 2. 可以通过*p改自己 3. 可以通过p = &
新建项目dangdangusersearch 2.编写头文件head.h #ifndef _HEAD_H_ #define _HEAD_H_ #include <stdio.h> //注意文件操作相关函数的头文件是stdio.h #include<stdlib.h> //为了
1.在main方法里面直接定义一个非常大的数组的时候,可能会出现栈溢出:错误代码演示: #include<stdio.h> #include<stdlib.h> void main() { int a[1024 * 1024]; int num = 100; system("p
打印数组中的每个元素,打印每个元素的地址: #include <stdio.h> #include <stdlib.h> void main(void) { int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int
安装Apach 配置ApacheRuntime 下面的过程中一直点击next 配置CGI,放开配置:AddHandler cgi-script .cgi 2.添加Option,截图 3.编写CGI代码如下: #define _CRT_SECURE_NO_WARNINGS //取消安全检查
刚来新公司不久做运维开发,本为以为要继续做我的开源软件开发,结果领导给分了个以前基本从来没考虑的任务,监测用户访问我们网站的速度,没错,是监测所有的用户访问我们网站的速度。 刚来新公司不久做运维开发,本为以为要继续做我的开源软件开发,结果领导给分了个以前基本从来没考虑的任务,监测用户访问我们网站的速度,没错,是监测所有的用户访问我们网站的速度。就跟基调一样。因为基调不能实现我们一
负载均衡方案应是在网站建设初期就应考虑的问题,不过有时随着访问流量的爆炸性增长,超出决策者的意料,这也就成为不得不面对的问题。当我们在引入某种负载均衡方案乃至具体实施时,像其他的许多方案一样,首先是确定当前及将来的应用需求,然后在代价与收效之间做出权衡。 (一) 简单理解四层和七层负载均衡: ① 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负
过去两个月深入的参与了一个分布式系统的开发,记得之前有人说过“想成为架构师之前,都是从微观架构开始的”。尽管我从没想过将来的某一天要成为一个架构师,或者领域专家,我只是想萌萌哒的编码,写着自己喜欢的Code,和一群志同道合的朋友做出大家喜欢的商品和产品。 前言 过去两个月深入的参与了一个分布式系统的开发,记得之前有人说过“想成为架构师之前,都是从微观架构开始的”。尽管我从没
Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?下面然给我们详细来了解一下吧 Nginx+tomcat是目前主流的java web架构,如何让nginx+tomcat同时工作呢,也可以说如何使用nginx来反向代理tomcat后端均衡呢?直接安装配置如下: 1、J
集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。 1.集群的简介: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。 如果一个
1. 安装DetoursExpress30.msi,点击安装,安装后的目录结构如下: 在sample里面有例子,可供查看使用 2.第一步,打开VS2013开发人员命令提示(E:\Installed\MicrosoftVisual Studio 12.0\Common7\Tools\Shortcuts\VS2013 开发人员命令提示),进入Detours安装目录下的src目录,
1.目标,通过程序检索植物大战僵尸雪的值,并将雪的值修改(这个时候得使用dll的方式才能够实现): 2.打开MemSearch工具。截图如下: 上面(0x20337520)是通过MemSearch累计查找到的地址值 3.新建项目,项目截图如下: 内存检索代码: #include <stdio.h> #include <stdli
1.补码,计算机二进制在内存中如何显示的就是补码 2.查看每种数据类型的范围 如果想输出无符号整型,使用的是UINT_MAX可以得到长度。 3.原码,反码,补码 正数:原码,反码,补码都是相同的 负数:(以-1为例) 原码: 1000 0000 0000 0000 00000000 0000 0001 -1的原码 反
1.内存四大区域 2.在程序中,变量的声明可以有多份,定义只能有一份 3.寄存器在cpu里面,没有地址 4.c语言内嵌汇编语言 5.auto变量 自动分配内存,自动释放内存。 6、栈的大小由编译器决定 修改栈的方式,右击项目à属性à配置属性à链接器à系统à堆栈保留大小 7.卡死cpu,卡死内
1、项目包结构 array.h #ifndef _ARRAY_H_ #define _ARRAY_H_ /************************************************************************/ /* 初始化数组
1、5种方式实现二分查找,案例结构: halfFind.h #ifndef _HALFFIND_ #define _HALFFIND_ /************************************************************************/ /* 初始化长度为L的数组
1.通过递归的方式打印八进制,使用递归的方式一般会有if,else。 2.将数字转字符串,字符串转数字 //#define _CRT_SECURE_NO_WARNINGS //取消安全性检查,如果不加这一句的时候scanf将报错。 #include <stdio.h> #include <stdlib.h>
1.通过system启动飞秋进程的方式: 2.Windows下杀死进程的方式是:taskkill /f/im QQ.exe,截图如下: 3、控制360网盘的移动,打开等效果: #include<stdio.h> #include<stdlib.h> #include<Windows.h>
1.设置编译器位数 2.设置编译器
1.打开VS2013,新建项目: 2.点击下一步,下一步,到达如下界面: 3.下一步 4.下一步: 5.下一步: 6.下一步: 7.下一步: 8.点击执行项目,生成的效果图如下: 9.关闭运行窗口,查找到右边解决方案下面的资源视图,如果没有找到,可以再视图—&
1.在桌面新建一个1.c,内容如下: 2.打开cmd命令行窗口,进入CodeBlock安装目录下的:E:\Installed\CodeBlocks\MinGW,然后执行mingwvars.bat 3.进入1.c所在的目录: 4.执行编译等动作 5.接着使用VC的编译器进行执行代码。 6.点击VS2013开发人
/* * 编写一个函数,对一个已排序的整数表执行二分查找。 * 函数的输入包括各异指向表头的指针,表中的元素个数,以及待查找的数值。 * 函数的输出时一个指向满足查找要求的元素的指针,当未查找到要求的数值时,输出一个NULL指针 * 用两个版本实现,一个用的是数组小标,第二个用的是指针 * 他们均采用了不对称边界 * Copyright (c) 2012 LiMing A
arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpu
内存对齐概念,struct例子: struct stu{ char a; intb; char c; double d; char e; } 取pack(n),n,取结构体中最大成员大小m,取两个小值k, k = m< n?m:n; 取每个成员大小p,依次同k比较,取小值q =
1.打印二进制机器码(分别表示32位的和64位的) #include <stdio.h> /*按照8位的长度打印一个数值*/ void dis8bit(char val) { int bit = 8; while(bit--) { if(1<<bit&v
关于数据类型: 1.常量也是有类型的 常量数据大体分两类,一类是带点(实型,浮点型),一类是不带点叫整型。 编译器对带点,通常默认为double,不带点通常编译为int 2.对于数据 .2 默认分配其8个字节。 .2F/f 改默认存储为4个字节,12U,改默认为正数的表达范围。12L 改默认为L 关于隐式类型转换: