0、引言
我们在嵌入式开发的过程中,经常可以碰到在一些宏定义或者是代码段中使用了do {...} while(0)的语句,从语义上理解,do {...} while(0)内的逻辑就只执行一次,并没有循环执行,粗略看来,似乎画蛇添足了,那么为什么还需要在只执行一次的逻
现在市面上有很多免费的FTP软件:如FileZilla ,那如果想自己在代码中实现与ftp服务器的上传下载文件该如何实现那?
本质上ftp协议就是TCP基础上建立的一种协议,具体如下。
FTP 概述
文件传输协议(FTP)作为网络共享文件的传输协议,在网络应用软件中具有广泛的应用。FTP的目
1. 位运算
百度百科如下:
程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作。
2. 位操作的优势
位运算是一种底层的运算,往往比我们普通的运算要快上许多许多
位运算是最高效而且占用内存最少的算法操作,执行效率非常高
位运算操作的是二进制数
一、strcmp模拟实现
1.strcmp原理
2.基于其原理进行模拟实现
二、strcat模拟实现
1.strcat原理
2.基于其原理进行模拟实现
三、strstr模拟实现
1.strstr原理
2.基于其原理进行模拟实现
一、1. strcmp原理
strcmp进行字符串比较,将两个字符串
第一章程序设计与C语言
1,机器语言属于第一代计算机语言,能直接识别和接受的二进制代码称为机器指令,用机器语言编写的程序程序称为目标程序,将高级语言编写的程序称为源程序,将源程序翻译成目标程序的程序称为编译程序。
2,软件危机:软件的正确性、开发成本、有错误而不能使用等。
3,对象是数据以及对数据
一、数组名代表什么二、数组名同指针区别三、使用数组名的其它含义
一、数组名代表什么
考虑如下声明:
int a;
int b[10];
我们将变量a成为标量,因为它是一个单一的值,而这个变量的类型为一个整型(int),
而变量b我们称为一个数组,因为它是一些值的集合。下标和数组名一起使用,可用
壹:
对于优先级:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符。逻辑运算符中“逻辑非 !”除外。这是程序员总结出来的最快的学习方式。
可在实战中,还是经常遇到一些让人困惑的问题。下面看一个实例。
贰:
代码很简单,直接上源码:
#i
程序代码到可执行程序编译链接过程
预编译
以c++/c 语言为例,预编译阶段的工作有以下几点:
处理所有#define 及条件预编译指令(如 #if,#ifdef.....),并展开所有宏定义。
删除所有注释("//" ,"/**/")。
处理 "#include",将被包含文件插入该预编译指令位
一、结构体的 . 操作符二、结构体的 -> 操作符三、点操作符的优先性和结合性
一、结构体的 .操作符
1.结构体成员的直接访问:结构体变量的成员是通过操作符 . 访问的。
二、结构体的->操作符
1.结构体成员的间接访问:当我们拥有一个 指向结构体的指针 ,我们访问这个结构的成
一、通讯录准备
1. 通讯录信息的准备
2. 通讯录功能的框架
3. 文件安排
二、实现通讯录的功能
1. 添加功能
2. 删除功能
3. 展示功能
4. 更改功能
5. 查找功能
6. 排序功能
三、总结
1.在main函数中,采用&的原因
2.在使用scanf函数时,为
将一个正整数n拆分成若干个正整数的和(至少两个数,n<=100)。
输入格式:
一个正整数n
输出格式:
若干行,每行一个等式(数与数之间要求非降序排列)。最后一行给出解的总个数
输入样例:
在这里给出一组输入。例如:
4
输出样例:
4=1+1+1+1
4=1+1+2
4=1+3
4=
变量和数据类型
所有定义的变量都存在内存中,定义变量需要内存空间,不同类型的变量需要的内存空间是不同的
数据类型作用:告诉编译器,我这个数据在内存中需要多大的空间,编译器预算对象(变量)分配的内存空间大小。
1.常量与变量
1.1 常量
常量:程序运行中不能改变的量
整型常量:1 200
字符常量
VS调试以及Qt基本使用
1.汇编语言
1.1 VS中C语言嵌套汇编代码(了解)
#include <stdio.h>
int main()
{
//定义整型变量a, b, c
int a;
int b;
int c;
__asm
{
mov a, 3 //3的值放
C语言概述
1.什么是C语言
C语言就是人和计算机交流的一种语言
语言是用来交流沟通的。有一方说,有另一方听,必须有两方参与,这是语言最重要的功能:
说的一方传递信息,听的一方接收信息;
说的一方下达指令,听的一方遵循命令做事情。
语言是人和人交流,C语言是人和机器交流。只是,人可以不听另外一个人
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效
零基础 OpenGL ES 学习路线推荐 : Op
引言
回想起来,我在目前的团队(金融科技领域)待了有很长一段时间了,一直在做SDK研发,平时工作中经历过大刀阔斧一蹴而就的喜悦,也经历过被一个问题按在地上摩擦,无奈“废寝忘食”的不堪,日复一日年复一年,如果硬要吐露一下内心的感受,就一个字“难!”。
为什么说难呢?总结下来有两方面原因,一方面原因是
一、问题引入
初入编程世界,我们不知道什么叫做好代码。一切以实现功能和快速上线项目为主,但编程经验增加,发现代码越来越难写,越来越难改。
导致这样的原因是没有遵循一般性的编程规则或则没有良好的编程风格。俗话说:“无规矩不成方圆”,在编程水平上来后,就更应该遵循规则。
傻瓜都能写出计算机可以理解的
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是飞思卡尔软件开发C语言编码规范。
2020鼠年春节是个漫长的假期,痞子衡在家百无聊赖,翻出了2016年10月1日(这个时间是痞子衡正式开始用markdown+github写技术文章并发表到博客园上的纪念日)之前写的技术文档,不翻
在三维模型轻量化方面,存在一些主要问题,包括:
模型细节丢失:在进行网格简化等操作时,可能会导致模型的细节丢失,使得模型失去原有的质感和细节特征。
模型形变:在进行网格简化等操作时,可能会导致模型形变,使得模型的形状和比例发生变化,影响模型的使用效果。
纹理失真:在进行纹理压缩等操作时,可能会
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础
零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效
零基础 OpenGL ES 学习路线推荐 : Ope