- 预处理编译汇编链接(程序运行过程中的细节)
你好,未来
linux
1.预处理过程2主要处理那些源代码文件中的以“#”开始的预编译指令。如“#include”、“#define”等,主要处理规则如下:将所有的“#define”删除,并且展开所有的宏定义。处理所有条件预编译指令,比如“#if”、“#ifdef”、“#elif”、“#else”、“#endif”处理“#include”预编译指令,将被包含的文件插入到该预编译指令的位置。注意,这个过程是递归进行的,也就
- C++ 标准库的 locale 类用法
一劳永逸
转帖好文c++stringlocalizationwindows终端
原来一篇总结了下C标准库的setlocale()用法,这篇讲解的是C++标准库中locale类的用法。参考:cplusplus.com上关于标准C++中国际化支持的参考:LocalizationlibraryLocaleclassTheC++StandardLibrary(NicolaiM.Josuttis,侯捷译)第14章Internationalization(国际化)locale类在头文件中
- #ifdef和#if 的应用差异
woainizhongguo.
C/C++单片机
在嵌入式软件开发中,#ifdef和#if都是预处理指令,用于条件编译,但它们的应用场景和逻辑有显著差异:一、ifdefifndef用法1.#ifdef/#ifndef作用:检查某个宏是否被定义(无论其值如何)。语法:#ifdefMACRO_NAME//如果MACRO_NAME被定义,编译此部分代码#endif#ifndefMACRO_NAME//如果MACRO_NAME未被定义,编译此部分代码#e
- C++ 11 set 插入元素 维护唯一性原理
呱呱344
笔记c++set
环境:gccversion11.4.0(Ubuntu11.4.0-1ubuntu1~22.04)std::set的底层红黑树在插入元素时需要频繁调用比较函数来维护有序性和唯一性源码://位置/usr/include/c++/11/bits/stl_tree.h//插入逻辑_Rb_tree::#if__cplusplus>=201103L_M_insert_unique(_Arg&&__v)#els
- 巧用 #define与 #ifdef,实现灵活数值比较
一粒沙白兔
C语言刷题记录算法c语言
题目描述#if#ifdef和#ifndef的综合应用。源代码#include#defineMAX#defineMAXIMUM(x,y)(x>y)?x:y#defineMINIMUM(x,y)(x>y)?y:xintmain(){inta=10,b=20;#ifdefMAXprintf("更大的数字是%d\n",MAXIMUM(a,b));#elseprintf("更小的数字是%d\n",MINIM
- C++:vector容器(上篇)
李白同学
C++c++开发语言
1.vector的介绍及使用1.1vector的介绍vector文档说明链接:vector-C++Reference(cplusplus.com)1.2vector的使用1.2.1vector的定义(constructor)构造函数声明接口说明vector()(重点)无参构造vector(size_typen,constvalue_type&val=value_type())构造并初始化n个val
- C/C++快速回顾
Immok
其他
C/C++的库参考大全:http://www.cplusplus.com/reference/C语言:C语言的入口方法:main(intargc,constchar*argv[])intargc指控制台传入的参数个数,argv是传入的值宏定义:#definePi3.14//在编译阶段替换宏方法:#defineMAX(a,b)\a>b?a:bC中的switch需要写break;,否则会一直往下执行,
- C++基础
泡泡不想写代码
C++基础java开发语言
c++的特点c++(cplusplus)是在c语言的基础上发展来的,是面向对象的高级程序设计语言。继承了c语言的优点,语言是比较规范整洁的,结构明了,有丰富的运算符和数据结构,可移植性较好。c++比c会更加安全,有const常量、引入了引用、内联函数和智能指针等。可复用性比较高,支持以模板为特征的泛型编程,是编译型语言。c++常用的开发工具常用的开发工具:visualstudio、c++Bulid
- 代练系统小程序APP公众号源码系统/代练系统陪玩小程序游戏陪玩陪玩平台搭建
前端后端小程序数据库服务器
环境搭建后端环境:推荐使用PHP7.3,搭配MySQL5.6,Web服务器选择Nginx或Apache,并开启Redis扩展。前端环境:安装Node.js,用于uni-app项目的编译和调试。跨端兼容组件适配uni-app内置了丰富的跨端组件(如、),避免了不同平台(如微信小程序和H5)的UI差异。开发者无需为每个平台单独编写代码,提高了开发效率。条件编译通过#ifdef、#ifndef等预编译指
- C语言 基础
奇自
cc语言开发语言
一、C语言基础(底层机制解析)编译与链接流程graphLRA[源文件(.c)]-->B[预处理器]-->C[编译生成汇编代码(.s)]C-->D[汇编器生成目标文件(.o)]D-->E[链接器生成可执行文件]E-->F[操作系统加载执行]-预处理阶段:处理#include(展开头文件)、#define(文本替换,无类型检查)、#ifdef(条件编译,用于跨平台适配,如#ifdef_WIN32...
- 【C++】unordered_set和unordered_map
星霜旅人
c++开发语言
unordered_set类unordered_set类的介绍1.在使用unordered_set类时,必须包含#include这一行。2.unordered_set类的底层其实是一个哈希桶结构,使用时需要显示实例化。3.下面是unordered_set类的官方文本介绍,里面有详细的用法讲解。-C++Referencehttps://legacy.cplusplus.com/reference/u
- c语言编译defined,(五)c语言条件编译#ifdef与#if defined
书童小二
c语言编译defined
c语言条件编译#ifdef与#ifdefineddefinedNAME是用来判断NAME是否被定义了(被用define定义了)。#ifdefNAME==#ifdefined(NAME)#ifndefNAME==#if!defined(NAME)但是在处理双重和多重判断时,defined的优势就显示出来了#ifdefNAME1#ifdefNAME2......#endif#endif可以写成#ifd
- 【c++】小项目cJSON研读
了不得
c++各项目学习c++开发语言
cJSON研读github地址:https://github.com/DaveGamble/cJSONcJSON.h宏定义部分#ifdef__cplusplusextern"C"{//正常声明段}#endifc的编译器和c++的编译器在生成函数名时处理有所不同,为了确保c编译后的函数,在链接时能正确被c++的编译器识别,.extern"C"是使C++能够调用C写作的库文件的一个手段。#if!def
- 鸿蒙编译ffmpeg库
xyccstudio
鸿蒙harmonyosffmpeg华为
下载ffmpeg项目基于如下项目编译的ffmpeggitclonehttps://gitcode.com/openharmony-sig/tpc_c_cplusplus.git配置编译环境下载commandlinetoolshttps://developer.huawei.com/consumer/cn/download/导出OHOS_SDK环境变量exportOHOS_SDK=~/command
- stm32h7xx_hal_conf.h讲解
gxt_kt
stm32单片机arm
stm32h7xx_hal_conf.h讲解讲解都在注释里了,全部都有讲哈平时最常遇到的坑点都写了//stm32h7xx_hal_conf.h#ifndefSTM32H7xx_HAL_CONF_H#defineSTM32H7xx_HAL_CONF_H//在C++工程中使用C编译#ifdef__cplusplusextern"C"{#endif//使能相应模组//坑点1:不用cubemx生成而自己使
- uni-app条件注释实现跨端兼容
陈醋拌饭
uni-app小程序uni-app
uni-app条件注释实现跨端兼容概念:条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台写法:以#ifdef加平台标识开头,以#endif结尾组件的条件注释h5页面会显示微信小程序会显示app会显示api的条件注释onLoad(){//#ifdefMP-WEIXINconsole.log('微信小程序')//#endif//#ifdefH5console.
- C++学习(四九一)use of undeclared identifier ‘S_IREAD‘
hankern
C++学习学习
问题描述:用ninja交叉编译libgif库egif_lib.c遇到的问题原因分析:S_IREAD在头文件在下述位置中定义。应该是没有定义__USE_BSD或__USE_GNU,导致找不到S_IREAD。//D:\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\sys\stat.h#ifdef
- 【C语言】库函数strlen的模拟实现
jyan_敬言
Cc语言开发语言
1、功能strlen函数:计算字符串的长度。2、函数参数、返回类型根据Cplusplus官网说明,如上图:strlen函数的参数为char*类型,且*str不可改变;返回类型为size_t无符号整型。3、进行模拟实现知道了strlen函数的功能,参数和返回类型,就可以进行模拟实现了。这里提供三种方法:方法一:利用计数器的原理,创建临时变量。//方法一:计数器方式,创建了临时变量countintmy
- c语言.h与.c详解
yangzhiguoasdasd
c语言
首先了解编译过程:1.预处理阶段预处理阶段根据放置在文件中的预处理指令来修改源文件的内容主要包括:①宏定义指令:如#defineab对于这种伪指令,预编译所要做的时将程序中的所有a用b替换,但是作为字符串常量的a则不被替换②条件编译指令:如#ifdef,#ifndef,#else,#elif,#endif等,这些伪指令的引入使得程序员可以通过定义不同的宏来决定编译程序对那些代码进行处理预编译程序根
- linux c学习—— 预处理和结构体
PengAcang
Linux学习C语言学习c语言
1.预处理有哪些类型?C语言提供多种预处理功能,主要处理#开始的预编译指令,如宏定义(#define),文件包含(#include),条件编译(#ifdef)等(以*开头的都是预处理命令)。2.条件语句和条件编译有什么区别?条件编译是C语言中预处理部分的内容,它是编译器编代码时最先处理的部分,。条件编译里面有判断语句,如#if,#else,#endif。它的意思是如果宏条件如果符合,就编译这段代码
- C和指针——预处理
forth touch
c语言开发语言
预处理是编译前的过程,主要对define,include以及一些编译器定义的内容进行替换#define的本质就是替换1、例子#defineFOREVERfor(;;)2、例子#defineTEMPD"1231231231\123123123"\\如果太长了,可以用\换行3、例子——可参数替换#defineTIMES(x)x*x4、ifdef和ifndef可以判定一个宏是否被定义,例如#define
- 基于stm32cubemx的串口重定向printf实现
Late~wind
stm32c语言
/*USERCODEBEGIN0*/#ifdef__GNUC__#definePUTCHAR_PROTOTYPEint__io_putchar(intch)#else#definePUTCHAR_PROTOTYPEintfputc(intch,FILE*f)#endif/*__GNUC__*//*USERCODEEND0*/此段代码实现的是宏定义PUTCHAR_PROTOTYPE。理解该宏定义需要
- uni-app基础知识
她的双马尾
Vueuni-appgit
1.uni-app进行条件编译的两种方法?小程序端和H5的代表值是什么?通过#ifdef、#idndef的方式H5:H5MP-WEIXIN:微信小程序2.uni-app的配置文件,入口文件,主组件,页面管理部分page.json配置文件main.js入口文件App.vue主组件pages页面管理部分3.uni-app上传文件时用到的API是什么?格式是什么uni.uploadFile({url:'
- C语言学习——预处理命令(条件编译)
木木ᶻ
C语言c语言学习c++算法
目录9.3条件编译第一种第二种第三种小结:9.3条件编译一般情况下,源程序中所有行都参加编译。但是有时希望程序中的一部分内容只在满足条件是才进行编译,也就是对这一部分内容指定编译的条件,这就是“条件编译”。有时,希望在满足某条件时,对某一组语句进行编译,而党条件不满足时则编译另一组语句。条件编译命令有以下几种形式。第一种#ifdef标识符程序段1#else 程序段2#endif它的作用是若所指定
- C++11右值引用和移动构造函数
源代码大师
C和C++完整教程c++c语言
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105089274右值引用和移动构造函数对象的拷贝控制移动构造函数(MoveConstructor)和移动赋值运算符(MoveAssignmentoperator)。构造函数与赋值运算符的区别左值与右值的区别类型&&引用名=
- 条件编译#ifdef的妙用详解_透彻
xk_一步一步来
本文主要介绍c语言中条件编译相关的预编译指令,包括#define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined。#define定义一个预处理宏#undef取消宏的定义#if编译预处理中的条件命令,相当于C语法中的if语句#ifdef判断某个宏是否被定义,若已定义,执行随后的语句#ifndef与#ifdef相反,判断某个宏是否未被定义#el
- ifdef 实现 if else if
huahuaniu998
c语言
#ifdefMACRO1/*处理1*/#elifdefinedMACRO2/*处理2*/#else/*处理3*/#endif
- Visual Studio 2012 —— 创建EXCEL表格
青衣-白扇
VisualStudioEXCEL
方法一:实现简单(C++),功能单一,对环境要求低1、头文件#include2、创建EXCEL表格ofstreamoFile;//取个名字CStringm_strName=_T("xxx");//后缀//此方法只能创建.csv格式CStringstrSuffix=_T(".csv");char*m_clsExcelName=newchar[128];#ifdef_UNICODEUSES_CONVE
- Linux:Makefile条件判断ifeq、ifneq、ifdef、ifndef的含义
技术探索者
ubuntulinux知识makefileifdefifeq
一、ifeq1、举例根据$(CC)取值不同,执行不同的处理逻辑libs_for_gcc=-lgnunormal_libs=foo:$(objects)ifeq($(CC),gcc)$(CC)-ofoo$(objects)$(libs_for_gcc)else$(CC)-ofoo$(objects)$(normal_libs)endififeq:表示条件语句的开始,并指定一个条件表达式。表达式包含两
- C语言的预处理指令
Elec_z
C语言c语言linux
文章目录宏定义简单的宏带参数的宏宏的通用属性实际编程中,遵守的一些规范预定义宏参数个数可变的宏#运算符与##运算符(了解即可,用的不多)条件编译#if指令和#endif指令defined运算符#ifdef指令和#ifndef指令#elif指令和#else指令C语言中,预处理指令是由#字符开头的一些命令。大多数预处理指令属于下面3种类型之一:宏定义:#define指令定义一个宏,#undef指令删除
- jquery实现的jsonp掉java后台
知了ing
javajsonpjquery
什么是JSONP?
先说说JSONP是怎么产生的:
其实网上关于JSONP的讲解有很多,但却千篇一律,而且云里雾里,对于很多刚接触的人来讲理解起来有些困难,小可不才,试着用自己的方式来阐释一下这个问题,看看是否有帮助。
1、一个众所周知的问题,Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准;
2、
- Struts2学习笔记
caoyong
struts2
SSH : Spring + Struts2 + Hibernate
三层架构(表示层,业务逻辑层,数据访问层) MVC模式 (Model View Controller)
分层原则:单向依赖,接口耦合
1、Struts2 = Struts + Webwork
2、搭建struts2开发环境
a>、到www.apac
- SpringMVC学习之后台往前台传值方法
满城风雨近重阳
springMVC
springMVC控制器往前台传值的方法有以下几种:
1.ModelAndView
通过往ModelAndView中存放viewName:目标地址和attribute参数来实现传参:
ModelAndView mv=new ModelAndView();
mv.setViewName="success
- WebService存在的必要性?
一炮送你回车库
webservice
做Java的经常在选择Webservice框架上徘徊很久,Axis Xfire Axis2 CXF ,他们只有一个功能,发布HTTP服务然后用XML做数据传输。
是的,他们就做了两个功能,发布一个http服务让客户端或者浏览器连接,接收xml参数并发送xml结果。
当在不同的平台间传输数据时,就需要一个都能解析的数据格式。
但是为什么要使用xml呢?不能使json或者其他通用数据
- js年份下拉框
3213213333332132
java web ee
<div id="divValue">test...</div>测试
//年份
<select id="year"></select>
<script type="text/javascript">
window.onload =
- 简单链式调用的实现技术
归来朝歌
方法调用链式反应编程思想
在编程中,我们可以经常遇到这样一种场景:一个实例不断调用它自身的方法,像一条链条一样进行调用
这样的调用你可能在Ajax中,在页面中添加标签:
$("<p>").append($("<span>").text(list[i].name)).appendTo("#result");
也可能在HQ
- JAVA调用.net 发布的webservice 接口
darkranger
webservice
/**
* @Title: callInvoke
* @Description: TODO(调用接口公共方法)
* @param @param url 地址
* @param @param method 方法
* @param @param pama 参数
* @param @return
* @param @throws BusinessException
- Javascript模糊查找 | 第一章 循环不能不重视。
aijuans
Way
最近受我的朋友委托用js+HTML做一个像手册一样的程序,里面要有可展开的大纲,模糊查找等功能。我这个人说实在的懒,本来是不愿意的,但想起了父亲以前教我要给朋友搞好关系,再加上这也可以巩固自己的js技术,于是就开始开发这个程序,没想到却出了点小问题,我做的查找只能绝对查找。具体的js代码如下:
function search(){
var arr=new Array("my
- 狼和羊,该怎么抉择
atongyeye
工作
狼和羊,该怎么抉择
在做一个链家的小项目,只有我和另外一个同事两个人负责,各负责一部分接口,我的接口写完,并全部测联调试通过。所以工作就剩下一下细枝末节的,工作就轻松很多。每天会帮另一个同事测试一些功能点,协助他完成一些业务型不强的工作。
今天早上到公司没多久,领导就在QQ上给我发信息,让我多协助同事测试,让我积极主动些,有点责任心等等,我听了这话,心里面立马凉半截,首先一个领导轻易说
- 读取android系统的联系人拨号
百合不是茶
androidsqlite数据库内容提供者系统服务的使用
联系人的姓名和号码是保存在不同的表中,不要一下子把号码查询来,我开始就是把姓名和电话同时查询出来的,导致系统非常的慢
关键代码:
1, 使用javabean操作存储读取到的数据
package com.example.bean;
/**
*
* @author Admini
- ORACLE自定义异常
bijian1013
数据库自定义异常
实例:
CREATE OR REPLACE PROCEDURE test_Exception
(
ParameterA IN varchar2,
ParameterB IN varchar2,
ErrorCode OUT varchar2 --返回值,错误编码
)
AS
/*以下是一些变量的定义*/
V1 NUMBER;
V2 nvarc
- 查看端号使用情况
征客丶
windows
一、查看端口
在windows命令行窗口下执行:
>netstat -aon|findstr "8080"
显示结果:
TCP 127.0.0.1:80 0.0.0.0:0 &
- 【Spark二十】运行Spark Streaming的NetworkWordCount实例
bit1129
wordcount
Spark Streaming简介
NetworkWordCount代码
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
- Struts2 与 SpringMVC的比较
BlueSkator
struts2spring mvc
1. 机制:spring mvc的入口是servlet,而struts2是filter,这样就导致了二者的机制不同。 2. 性能:spring会稍微比struts快。spring mvc是基于方法的设计,而sturts是基于类,每次发一次请求都会实例一个action,每个action都会被注入属性,而spring基于方法,粒度更细,但要小心把握像在servlet控制数据一样。spring
- Hibernate在更新时,是可以不用session的update方法的(转帖)
BreakingBad
Hibernateupdate
地址:http://blog.csdn.net/plpblue/article/details/9304459
public void synDevNameWithItil()
{Session session = null;Transaction tr = null;try{session = HibernateUtil.getSession();tr = session.beginTran
- 读《研磨设计模式》-代码笔记-观察者模式
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
import java.util.Observer;
/**
* “观
- 重置MySQL密码
chenhbc
mysql重置密码忘记密码
如果你也像我这么健忘,把MySQL的密码搞忘记了,经过下面几个步骤就可以重置了(以Windows为例,Linux/Unix类似):
1、关闭MySQL服务
2、打开CMD,进入MySQL安装目录的bin目录下,以跳过权限检查的方式启动MySQL
mysqld --skip-grant-tables
3、新开一个CMD窗口,进入MySQL
mysql -uroot
 
- 再谈系统论,控制论和信息论
comsci
设计模式生物能源企业应用领域模型
再谈系统论,控制论和信息论
偶然看
- oracle moving window size与 AWR retention period关系
daizj
oracle
转自: http://tomszrp.itpub.net/post/11835/494147
晚上在做11gR1的一个awrrpt报告时,顺便想调整一下AWR snapshot的保留时间,结果遇到了ORA-13541这样的错误.下面是这个问题的发生和解决过程.
SQL> select * from v$version;
BANNER
-------------------
- Python版B树
dieslrae
python
话说以前的树都用java写的,最近发现python有点生疏了,于是用python写了个B树实现,B树在索引领域用得还是蛮多了,如果没记错mysql的默认索引好像就是B树...
首先是数据实体对象,很简单,只存放key,value
class Entity(object):
'''数据实体'''
def __init__(self,key,value)
- C语言冒泡排序
dcj3sjt126com
算法
代码示例:
# include <stdio.h>
//冒泡排序
void sort(int * a, int len)
{
int i, j, t;
for (i=0; i<len-1; i++)
{
for (j=0; j<len-1-i; j++)
{
if (a[j] > a[j+1]) // >表示升序
- 自定义导航栏样式
dcj3sjt126com
自定义
-(void)setupAppAppearance
{
[[UILabel appearance] setFont:[UIFont fontWithName:@"FZLTHK—GBK1-0" size:20]];
[UIButton appearance].titleLabel.font =[UIFont fontWithName:@"FZLTH
- 11.性能优化-优化-JVM参数总结
frank1234
jvm参数性能优化
1.堆
-Xms --初始堆大小
-Xmx --最大堆大小
-Xmn --新生代大小
-Xss --线程栈大小
-XX:PermSize --永久代初始大小
-XX:MaxPermSize --永久代最大值
-XX:SurvivorRatio --新生代和suvivor比例,默认为8
-XX:TargetSurvivorRatio --survivor可使用
- nginx日志分割 for linux
HarborChung
nginxlinux脚本
nginx日志分割 for linux 默认情况下,nginx是不分割访问日志的,久而久之,网站的日志文件将会越来越大,占用空间不说,如果有问题要查看网站的日志的话,庞大的文件也将很难打开,于是便有了下面的脚本 使用方法,先将以下脚本保存为 cutlog.sh,放在/root 目录下,然后给予此脚本执行的权限
复制代码代码如下:
chmo
- Spring4新特性——泛型限定式依赖注入
jinnianshilongnian
springspring4泛型式依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
- centOS安装GCC和G++
liuxihope
centosgcc
Centos支持yum安装,安装软件一般格式为yum install .......,注意安装时要先成为root用户。
按照这个思路,我想安装过程如下:
安装gcc:yum install gcc
安装g++: yum install g++
实际操作过程发现,只能有gcc安装成功,而g++安装失败,提示g++ command not found。上网查了一下,正确安装应该
- 第13章 Ajax进阶(上)
onestopweb
Ajax
index.html
<!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/
- How to determine BusinessObjects service pack and fix pack
blueoxygen
BO
http://bukhantsov.org/2011/08/how-to-determine-businessobjects-service-pack-and-fix-pack/
The table below is helpful. Reference
BOE XI 3.x
12.0.0.
y BOE XI 3.0 12.0.
x.
y BO
- Oracle里的自增字段设置
tomcat_oracle
oracle
大家都知道吧,这很坑,尤其是用惯了mysql里的自增字段设置,结果oracle里面没有的。oh,no 我用的是12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列
create table t
(
id number generated by default as identity (start with 1 increment b
- Spring Security(01)——初体验
yang_winnie
springSecurity
Spring Security(01)——初体验
博客分类: spring Security
Spring Security入门安全认证
首先我们为Spring Security专门建立一个Spring的配置文件,该文件就专门用来作为Spring Security的配置