编程语言

嵌入式C语言自我修养 04:Linux 内核第一宏:container_of

02-03
4.1 typeof 关键字 ANSI C 定义了 sizeof 关键字,用来获取一个变量或数据类型在内存中所占的存储字节数.GNU C 扩展了一个关键字 typeof,用来获取一个变量或表达式的类型.这里使用关键字可能不太合适,因为毕竟 typeof 还没有被写入 C 标准,是 GCC 扩展的一个关键字.为了方便,我们就姑且称之为关键字吧. 通过使用 typeof,我们可以获取一个变量或表达式的类型.所以 typeof 的参数有两种形式:表达式或类型. int i ; typeof(i) j

[Python3 练习] 001 温度转换1

02-03
题目:温度转换 I (1) 描述 温度的刻画有两个不同体系:摄氏度 (Celsius) 和华氏度 (Fabrenheit) 请编写程序将用户输入的华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度 转换公式如下,C 表示摄氏度,F 表示华氏度???????????????????????????????????????????????????????????????????????????????????????????????? C = ( F - 32 ) / 1.8?????????????

python算法双指针问题:二分查找

02-03
这里要注意的是//向下取整,下次循环时,如果大于查找的数字,start+1. 并且,只能向下取整,如果向上取整. 那么,在比较第一个数时,start = 0 .end = 1.mid = 1.就会进入死循环了. 切记切记. import math a_list = [2, 5, 23, 45, 67, 89, 90, 123, 234, 345, 567, 7890, 12132] guess_no = 67 answer = -1 start, end = 0, len(a_list) whi

嵌入式C语言自我修养 13:总结

02-02
13.1 总结 前面12节的课程,主要针对 Linux 内核中 GNU C 扩展的一些常用 C 语言语法进行了分析.GNU C 的这些扩展语法,主要用来完善 C 语言标准和编译优化.而通过 C 标准的发展过程我们又发现,对于一些编译器扩展的一些特性,或者其它编程语言(如:C++)中的好的特性和语法,C 标准也会适时地吸收进来,作为新的 C 语言标准. 在 GNU C 的这些扩展语法中,attribute 和宏定义是两大特色.在嵌入式底层系统中,尤其是 Linux 内核和 U-boot 中,大量使

嵌入式C语言自我修养 10:内联函数探究

02-02
10.1 属性声明:noinline & always_inline 这一节,接着讲 attribute 属性声明,attribute可以说是 GNU C 最大的特色.我们接下来继续讲一下跟内联函数相关的两个属性:noinline 和 always_inline.这两个属性的用途是告诉编译器:编译时,对我们指定的函数内联展开或不展开.它们的使用方法如下. static inline __attribute__((noinline)) int func(); static inline __att

算法进阶指南二分章节的两道题

02-02
A.题意:给定个数为N的数列,从中挑一些不小于L的连续子段,求这些子段当中的数平均值最大是多少? 思路:二分平均值转化为判定.我们直接去求这个>=L的子段当中的最大平均值比较难求.所以我们可以用二分的方法枚举mid,然后在判定这个mid是否合法. 判定方法为,是否存在一个长度大于L的连续子段它的平均值>=mid.如果不存在,说明以mid为平均值取大了.则取r=mid. 对平均值的处理有一种特殊方法,另每一个数都减去mid,则判定方法就转化为是否存在一个长度>=L的连续子段,使得每个数的和

python3虚拟环境应用

02-02
python3自带虚拟环境venv,大致操作只有三步 1. 创建虚拟环境 python3 -m venv venv(名称随意) 2. 激活虚拟环境 source venv/bin/activate 3.退出虚拟环境 deactivate . 原文地址:https://www.cnblogs.com/dream-life/p/10349265.html

Springboot 热部署问题。亲测可用。

02-02
本人开发使用的是Mac系统,windows应该类似.主要是 spring-boot-devtools的使用 参考:mac下的idea设置,是不是有疑问,既然别人写好了,为啥你还要再来一次,因为我使用了之后 并没有什么效果,,一度怀疑他们写的是不是假的,其实他们写的没有错,只是还不是全部的步骤! ( 然后再发请求,idea 检测到文件变化后 大功告成!!!spring-boot-devtools配合idea正确的使用姿势! ======之前使用jrebel 插件做开发环境的热部署(那时还没用spr

浙大版《C语言程序设计(第3版)》题目集 练习3-4 统计字符 (15 分)

02-02
练习3-4 统计字符 (15 分) 本题要求编写程序,输入10个字符,统计其中英文字母.空格或回车.数字字符和其他字符的个数. 输入格式: 输入为10个字符.最后一个回车表示输入结束,不算在内. 输出格式: 在一行内按照 letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数 的格式输出. 输入样例: aZ & 09 Az 输出样例: letter = 4, blank = 3, digit = 2, other = 1

嵌入式C语言自我修养 06:U-boot镜像自拷贝分析:section属性

02-02
6.1 GNU C 的扩展关键字:attribute GNU C 增加一个 atttribute 关键字用来声明一个函数.变量或类型的特殊属性.声明这个特殊属性有什么用呢?主要用途就是指导编译器在编译程序时进行特定方面的优化或代码检查.比如,我们可以通过使用属性声明指定某个变量的数据边界对齐方式. attribute 的使用非常简单,当我们定义一个函数.变量或类型时,直接在它们名字旁边添加下面的属性声明即可: __atttribute__((ATTRIBUTE)) 这里需要注意的是:attrib

嵌入式C语言自我修养 03:宏构造利器 - 语句表达式

02-02
3.1 基础复习:表达式.语句和代码块 表达式 表达式和语句是 C 语言中的基础概念.什么是表达式呢?表达式就是由一系列操作符和操作数构成的式子.操作符可以是 C 语言标准规定的各种算术运算符.逻辑运算符.赋值运算符.比较运算符等.操作数可以是一个常量,也可以是一个变量.表达式也可以没有操作符,单独的一个常量甚至是一个字符串,也是一个表达式.下面的字符序列都是表达式: 2 + 3 2 i = 2 + 3 i = i++ + 3 "wit" 表达式一般用来数据计算或实现某种功能的算法.表

C语言参数传递(值传递、地址传递)+二级指针

02-02
参数传递 C语言参数传递一般分为:值传递和地址传递 (注意:C语言中没有引用传递,C++才有引用传递,因为很多C语言环境是用C++编译器编译,使得C看起来支持引用传递,导致很多网上很多blog都把引用传递归为C语言参数传递的一类, 当使用Microsoft Visual C++ 2010 Express或VC6之类的编译器时使用引用传递就无法编译通过) 值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参) 1 #include <

[Swift]LeetCode493. 翻转对 | Reverse Pairs

02-02
Given an array nums, we call (i, j) an important reverse pair if i < j and nums[i] > 2*nums[j]. You need to return the number of important reverse pairs in the given array. Example1: Input: [1,3,2,3,1] Output: 2  Example2: Input: [2,4,3,5,1] Output:

Python新函数学习

02-02
示例 说明 相关场景 isinstance(keywords, type) 判断一个变量如keywords是否为type类型    type可以是list.dict等判断一个变量如keywords是否为type类型    type可以是list.dict等 keywords = keywords if isinstance(keywords, list) else keywords.split(',') datetime.datetime.strptime(startdate, '%Y-%m-%

Spring Boot 缓存的基本用法

02-02
目录 一.目的 二.JSR-107 缓存规范 三.Spring 缓存抽象 四.Demo 1.使用 IDEA 创建 Spring Boot 项目 2.创建相应的数据表 3.创建 Java Bean 封装数据 4.整合 MyBatis 1.配置数据源信息 2.使用注解版 MyBatis 5.实现 Web 访问 6.缓存初体验 7.使用 redis 缓存中间件 1.使用 docker 安装 redis(阿里云服务器) 2.使用 Redis Desktop Manager 连接阿里云服务器 3.引入 r

javascript定时保存表单数据的代码

02-02
(忘记是不是两家邮箱都有这个功能). 那这个功能是怎么做的呢? 定时,我们知道怎么弄,但保存呢?也许我们会通过隐藏域等手段来存放数据.但是,这个却有个缺点:那就是刷新页面后,数据将会丢失. 而此时,就该轮到我们很少关注,而且估计有不少人不知道的UserData 行为(userData Behavior)登场了: 而这个UserData是什么?怎么用?,我将在文章最后转载一篇介绍它的文章. 现在,我直接上例子,所谓无代码,无真相嘛: <!DOCTYPE html PUBLIC "-//W3C

利用朴素贝叶斯分类算法对搜狐新闻进行分类(python)

02-02
数据来源  https://www.sogou.com/labs/resource/cs.php介绍:来自搜狐新闻2012年6月-7月期间国内,国际,体育,社会,娱乐等18个频道的新闻数据,提供URL和正文信息格式说明:<doc><url>页面URL</url><docno>页面ID</docno><contenttitle>页面标题</contenttitle><content>页面内容</conten

Unity Button事件的简洁处理

02-02
看到很多人依然还是通过最原始的方法给button绑定事件并处理,这种通过Find往子集一个个的查找,获取到后再绑定事件这种操作很费事,有些人则是对查找对象写了个方法自动往子集遍历更方便获取对象,但还是要一个个绑定.所以看到这里给大家说个简单的方式,要说的这种方式其实也很简单能够看到MVC的核心思想的影子. 先来讲解下思路再看代码,这样如果思路清晰了,不看代码你也知道我想怎么做. 思路是 将在初始化时获取到所有Button然后进行统一绑定到一个处理方法,在这个方法里处理一系列的工作,根据butto

Linux上部署Java应用

02-02
给了Linux的测试环境,目前需要install JDK, Tomcat,此处记录下小白的操作过程. 1. 查询Linux发行版本,包括内核信息 (1) Linux查询内核信息 $ uname -a Linux ECA-LPH000007 3.10.0-514.6.1.el7.x86_64 #1 SMP Wed Jan 18 13:06:36 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux $ cat /proc/version Linux version 3.1

Python学习----List和Tuple类型

02-02
目录   1.List 2.Tuple 一.List List是Python中的一种内置的数据类型,它代表的是一个列表,它是一种有序的集合,可以随时添加删除和查找里面的元素.表示方法为[ ] ps:由于Python是动态语言,List里面是不区分数据类型的.随便什么数据类型都可以放进去 1.创建List L = ['hello',91,'你好',12] print(L) #['hello', 91, '你好', 12] 2.按照索引访问List中的元素 因为List中的元素是有序集合,所以我们可