C语言学习的第一章

首先,学习编写程序要先知道什么是程序,我们为什么要写程序?程序就是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。程序里有很多算法,算法是解决问题的具体方法和步骤,就像我们想要得到个2,就要有个1+1来计算,1+1=2就是一种算法。由各种各样的算法和数据组合成一条一条的指令,然后指令由上到下的执行就成了一个完整的程序。程序有些时候可以帮助我们做很多的事情,对工作学习都能有很多的
阅读本文

java线程:Atomic(原子)

、何谓Atomic? Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位。计算机中的Atomic是指不能分割成若干部分的意思。如果一段代码被认为是Atomic,则表示这段代码在执行过程中,是不能被中断的。通常来说,原子指令由硬件提供,供软件来实现原子方法(某个线程进入该方法后,就不会被中断,直到其执行完成)  在x86 平台上,CPU提供了在指令执行期间对总线加锁的手段。CPU芯片上有
阅读本文

动态绑定的开销

因为静态绑定的函数,在编译时已明确了所要调用的函数,所要运行时没有决定调用正确函数的开销 动态绑定的开销:C++中都保存了一个类方法的特定表,并在查找正确函数时使用该表。需要注意的是:找到正确的函数并不涉及链表或表进行任何查找,这是瞬间直接地查找过程。表中储存了所有方法的地址,调用动态绑定的函数时,这些方法由接受消息的对象来定位。这通常只需要几条汇编语言指令。接下来,从表中选择正确函数的地址(使用
阅读本文

第二章 编译和链接

2.1 被隐藏了的过程编译运行主要分解为4个步骤:预处理(Prepressing)、编译(Compilation)、汇编(Assembly)和(Linking).2.1.1 预编译预编译处理规则:1、  讲所有的“#define”删除,并且展开所有的宏定义。2、  处理所有条件预编译指令,比如“#if”、“#ifdef”、“#elif”、“#else”、“#endif”。3、  处理“#inclu
阅读本文

OpenGL ES 学习难点日志

对照《OpenGL ES应用开发实践指南(Android卷)》 记录所犯错误 2017-03-16 glsl文件 在编写 着色器(.glsl文件)是一种类似C语言的代码 编写中注意分号(;) 如: attribute vec4 a_Position; attribute vec4 a_Color; varying vec4 v_Color; void main() { v_Color
阅读本文

FreeRTOS STM32移植笔记

1.前言     【1】其实说不上移植笔记,FreeRTOS已经移植至众多平台(MCU),包括MSP430,STM32等,这份笔记完全建立在官方代码的基础之上,简单的说就是修改一些设置从而完成一个呼吸灯实验。     【2】虽然有官方移植代码,但是官方移植版本为STM32的V2.X库,与现在流行的V3.5有比较大的区别。本笔记也是总结网上几篇学习笔记,主要说明如果使用V3.5库,需要做哪些修
阅读本文

C#继承与多态

继承:在程序中,如果一个类A:类B,这种机制就是继承。      子类可以继承父类的所有内容(成员)吗? 解析:    1.私有成员(属性和方法)    2.构造函数3.final修饰过的方法,子类不能进行重写  //SE为PM的子类//SE继承PMclass SE:PM { public int n; public SE(int i,int n,int m
阅读本文

继承 多态

1.属性  public string Name{get;set;}  private int age;    2.继承:在程序中,如果一个类A:类B,这种机制就是继承。      子类可以继承父类的所有内容(成员)吗?  解析:     1.私有成员(属性和方法)     2.构造函数  3.final修饰过的方法,子类不能进行重写        3.访问修饰符    public    公有的
阅读本文

为什么C和C++牛人多

 1、C和C++够笨,逼的程序员自己做很多事。 C其实大家都知道,是一门中低级语言,保留了指针等汇编特征,与系统底层结合密切。C++呢,更多的向个Object C,即面向对象的C。但这些,其实并不能够让程序员显得很牛。 我个人的理解,之所以C和C++程序员显得很牛,其实原因和大家想像的正好相反,不是因为C和C++太强大,而是这两门语言太弱智了。 C和C++,由于设计时,主要针对系统
阅读本文

sbl1启动代码分析

1. sbl1.s -- 汇编启动文件 sbl1程序的入口点在0xF800_C000,从memory map可以看出此地址位于L2 cache中,所以sbl1实际上是运行在L2 cache上的;   1)设置中断向量表   中断向量表位于0xFE80_5FC0(OCIMEM),覆盖PBL的中断向量表   AREA   SBL1_INDIRECT_VECTOR_TABLE, CODE, R
阅读本文

iOS多线程及异步处理

概览 大家都知道,在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行。改变这种状况可以从两个角度出发:对于单核处理器,可以将多个步骤放到不同的线程,这样一来用户完成UI操作后其他后续任务在其他线程中,当CPU空闲时会继续执行,而此时对于
阅读本文

静态分析揭开Joanap木马的神秘面纱

木马在报毒截图如下:木马的执行流程图如下:dropper文件根据配置内容释放 dna 文件和 wkcli2000002.dll,其中的dna文件保存了十个CC地址,CC地址数据不是简单的明文表示,而是以十六进制socket结构表示,木马会随机了从这十个CC地址中随机选择进行使用。wkcli2000002.dll 负责与CC地址进行初始化通信并发送用户信息。只有当初始化通信成功后,会解密出svc.d
阅读本文

各种嵌入式操作系统介绍

一,各种嵌入式操作系统介绍 1.uC/OS-II u C / OS 是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。  μC/OS-II 的前身是μC/OS,最早出自于1992 年美国嵌入式系统专家Jean J.Labrosse 在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS 的源码发布在该杂志的BBS上。  μC/OS 和μC/OS-II 是专
阅读本文

①Python简史

一、python介绍python的创始人为吉多·范罗苏姆(Guido van Rossum)目前python主要应用领域:·云计算·WEB开发·科学运算、人工智能·系统运维·金融:量化交易,金融分析等,作为动态语言的python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛·图形GUIpython是一门什么样的语言?编程语言主要从以下几个角度进行分类,编译型和解释型、静态语言和动态
阅读本文

汇编语言注释标记符

最常用的单行注释符号;分号  多行注释:可以用   comment   语句来成块注释掉的:           comment     /*         1         2  content        3         ....                         */ Masm   的语法是   comment   语句后的首个非空格字符起到下一个该字符止均为注释内
阅读本文

Python 沙箱逃逸

[TOC] (基于 Python 2.7) 在解决 Python 沙箱逃逸这个问题之前,需要先了解 Python 中的一些语法细节。如果已经了解了eval函数的使用方法,就可以跳过第一和第二部分,直接看 3x00 吧。0x00 表达式的执行用执行某个表达式的内容,可以使用 exec 或 eval 来进行。0x01 exechttps://docs.python.org/2.0/ref/exec.h
阅读本文

操作系统--牛客

1.  在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和(先来先服务调度算法)相同。解析:动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。例如,我们可以规定,在就绪队列中的进程,随其等待时间的增长,其优先权以速率a提高。若所有的进程都具有相同的优先权初值,则显然是最先进入就绪队列的
阅读本文

Java中的集合框架(下)

学生选课——判断Set中课程是否存在 package com.imooc.collection; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Scanner; public class SetTest {
阅读本文

42:字符串左旋转

/** * 面试题42-题目2:字符串左旋转 * 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。 * 对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。 * 是不是很简单?OK,搞定它! */ public class _4
阅读本文