pointers

2024/4/14 1:06:48

0, \0, NULL的区别

这个都知道在哪里用,但是道理不清楚。然后google 了一下,一个比较好的解释虽然是英文,但是很经典。 1.0 is an integer constant 2.\0 is a character constant 3.NULL is a macro(宏) defined in several standard …

如何理解c和c ++的复杂类型声明(转)

如何理解c 和c 的复杂类型声明(转) 曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10]; 这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C 声明。   我们将从每天都能碰到的较简单的声明入手,然…

.Net中unsafe编程详解

以c#为例。 一,打开unsafe编程开关 工程中默认的配置是不支持代码的非安全性的,所以第一次使用你得: 解决方案管理器→→Properties→→生成选项卡→→允许不安全代码。 二,何时要用unsafe 1.一个原则 unsafe 关键字表示不安全…

第13章 说 明 符

第13章 说 明 符 一个“说明符”是一个说明的一部分,用以命名一个对象、类型或函数。说明符是出现在说明中的以一个或多个被逗号分开的名称,每个名称可有一个相关的初始化器。 语法 说明符表: 初始说明符 说明符表,初始说明符 初始说明符: 说明符 初始化器opt 本章包括…

Delphi for C++ Programmers

发信人: Mars (FangQ), 信区: Programming标 题: [HTML]Delphi for C Programmers发信站: The Big Green (Sat Jul 27 01:36:29 2002) , 转信Delphifor C Programmers IntroductionThere are a lot of Delphi books out there, but 99% of them deal only with the more &qu…

两个经典的RGBYUV转换函数

虽然在开始用了swscale之后,我就很少用这个方式去对RGB和各种YUV格式做互相之间的转换,但是还是偶尔会有用到的时候,僻如说:要去一些特定程序进行简化的时候(ffmpeg和swscale总归大了一点),所以…

pthread_key_t和pthread_key_create()的使用

线程存储, Thread Specific Data 。线程存储有什么用了?他是什么意思了?大家都知道,在多线程程序中,所有线程共享程序中的变量。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果 每个…

基于Linux2.6.35内核的zImage启动过程研究

环境: 硬件平台:ARM9 S3C2440 TQ2440开发板。 软件环境:VM7.1虚拟机;Fedora10;arm-linux-gcc 4.3.3;Linux2.6.35;u-boot2010.06(天嵌原版本) 一、 zImage、uImage和vmLinux相关概念 当正确…

Linux下用Valgrind防止内存泄露

用C/C开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内存访问越界,需要要花上好几天时间,如果有一款工具能够帮助我们做这件事情就好了,valgrind正好就是这样的一款工具。 Valgrind是一款基于模拟…

基于mips架构的uboot 启动流程 (1)

流程分析 *************************************************** 1.最开始系统上电后 ENTRY(_start)程序入口点是 _start board/mingddie/u-boot.lds 2._start: cpu/mips/start.S 3. la t9, board_init_f 将函数board_init_f地址赋予t9 j t9 跳转到t9寄存器中保存的地址指向的…

AfxoleInit()的一个错误(oleinit.cpp第54行)的简要分析

因为要在vc中连接数据库,所以在CMyApp::InitInstance()中调用了AfxOleInit(),但是不想,程序在Debug模式刚开始启动的时候报错,调试得出错的断言为 _AFX_THREAD_STATE* pState AfxGetThreadState(); ASSERT(!pState->m_bNeedTe…

经典c 教程(ch7 指针和内存分配---下)

7.15 数组的大小可以在程序运行时定义吗? 不。在数组的定义中,数组的大小必须是编译时可知的,不能是在程序运行时才可知的。例如,假设i是一个变量,你就不能用i去定义一个数组的大小: char arr…

解读WINCE 5.0 KITL代码流程

摘要:KITL是PLATFORM BUILDER中的一个亮点,提供了和本地调试类似的断点、变量跟踪、内存查看等手段,如果没有KITL,嵌入式调试应该只能用串口打印消息来看了,工作效率大大下降。本文以实现最简单的SERIAL KITL为目的&am…

Kitl是怎样工作的?

part1. kitl初始化 ------------- Kitl的加载于其他调试服务之前,以提供为这些调试服务发布调试信息和接收主机调试命令的的通道。通常kitl在系统HAL初始化工作完成后进行加载,MS建议在OEMInit中启动kitl。这样就可以使用NIC或者是serial/Pal作为kitl的物…

嵌入式软件工程师面试题

嵌入式软件工程师面试题 预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: …

如何由Fortran中呼叫MATLAB的M檔案

如何由Fortran中呼叫MATLAB的M檔案 基本的作法是先將M檔案轉換為.dll檔 再由Fortran去呼叫之 程式是使用 Matlab 6.5.1 Matlab compiler v3.0.1 Compaq Visual Fortran Pro v6.6.0 (CVF) (Compaq bought DEC and HP bought Compaq) 原始m檔案為 function b matlabinc(a) % Incr…

第20章 编译指示指令

第20章 编译指示指令 C和C的每个实现对它的主机或操作系统都支持一些独有的特征。例如,某些程序须对存放数据的存储器区域进行精确的控制,或必须控制特定函数接受参量的方式。#pragma指令对每个编译器给出了一个方法,在保持与C和C语言完全兼容的情况下,给出主机或操作系统专有…

IS_ERR()的使用与说明

感谢fudan_abc的分享,本篇文章选自他的《Linux那些事儿之我是Hub(3)一样的精灵不一样的API》 转贴地址:http://blog.csdn.net/fudan_abc/archive/2007/08/09/1734839.aspx 人的无聊,有时候很难用语言表达.以下关于IS_ERR的文字仅献给无聊的你.如果你对内…

使用DoubleLinkedList扩展类,允许Add,Remove,Contains

方法与SingleLinkedList(单向链表)类似 创建两个泛型类DoubleLinkedList<T>using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics;namespace DevGuideToCollections {/// <summary>/// Represents a …

STL之Set与Multiset(转)

C STL set和multiset的使用1&#xff0c;set的含义是集合&#xff0c;它是一个有序的容器&#xff0c;里面的元素都是排序好的&#xff0c;支持插入&#xff0c;删除&#xff0c;查找等操作&#xff0c;就 像一个集合一样。所有的操作的都是严格在logn时间之内完成&#xff0c;…

使用SingleLinkedList扩展类,允许Add,Remove,Contains

创建两个类 SingleLinkedList<T>using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics;namespace DevGuideToCollections {/// <summary>/// Represents a strongly typed single linked list./// &l…

16道嵌入式C语言面试题

1. 用预处理指令#define 声明一个常数&#xff0c;用以表明1年中有多少秒&#xff08;忽略闰年问题&#xff09; #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情&#xff1a; 1). #define 语法的基本知识&#xff08;例如&#xff1a;不能以分号结束&…

C++代码优化方法总结

优化是一个非常大的主题&#xff0c;本文并不是去深入探讨性能分析理论&#xff0c;算法的效率&#xff0c;况且我也没有这个能力。我只是想把一些可以简单的应用到你的C代码中的优化技术总结在这里&#xff0c;这样&#xff0c;当你遇到几种不同的编程策略的时候&#xff0c;就…

Matlab Interface to Generic Dlls

大家須要在MATLAB中呼叫或使用dll檔案嗎 在目前的MATLAB6.5 SP1中已加入了這個應用介面 不過可能很多人由MathWorks上下載下來的安裝後都會有一點問題 目前分享的這個東西是更新版 下載後直接解壓縮就可以使用了 There are some limitations and restrictions that must be not…

内存管理内幕-动态分配的选择、折衷和实现

http://www.ibm.com/developerworks/cn/linux/l-memory/ 为什么必须管理内存 内存管理是计算机编程最为基本的领域之一。在很多脚本语言中&#xff0c;您不必担心内存是如何管理的&#xff0c;这并不能使得内存管理的重要性有一点点降低。对实际编程来说&#xff0c;理解您的内…

static关键字-void和void指针-函数指针

static关键字1&#xff0e;作用于变量&#xff1a; 用static声明局部变量-------局部变量指在代码块{}内部定义的变量&#xff0c;只在代码块内部有效&#xff08;作用域&#xff09;&#xff0c;其缺省的存储方式是自动变量或说是动态存储的&#xff0c;即指令执行到变量定义…

wince中断体系重要文件nkintr.h分析

首先来看他自己的介绍吧 /* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. …

我所认识的EXT2(二)

EXT2中块组的划分 块组是非常重要的概念&#xff0c;首先请朋友们弄清楚分区和块组是完全不同的概念&#xff0c;分区至多只能有4个&#xff08;3个主分区和1个扩展分区&#xff0c;如果4个分区不够用&#xff0c;只能用逻辑分区&#xff09;&#xff0c;分区的作用就是对磁盘…

【PNG overview】PNG专题!

【PNG overview】PNG专题&#xff01; 作者 鼯鼠 2007.1.22 转贴请注明出处 这段时间因为工作原因开始接触PNG&#xff0c;遇到问题的时候&#xff0c;在网上搜索资料总是零零碎碎&#xff0c;而且有很多的说法根没就是人云亦云&#xff0c;信手拈来&#xff0c;根本…

[中英对照] COM的简明C教程(一)

[中英对照] COM的简明C教程(一) Jeff Glatt(著),TOMGGX(译) [ 摘要 ] 现在有许多示范如何使用、创建COM、OLE、ActiveX组件的例程。但这些典型例子都是使用微软基础类(MFC)&#xff0c;.NET&#xff0c;C#&#xff0c;WTL或至少使用了ATL的&#xff0c;由于此类架构使用 “预制…