随笔分类 - C++
摘要:一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1) 并行设备的硬件寄存器(如:状态寄存器)2) 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)3) 多线程应用中被几个任务共享的变量回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。搞嵌入式的家伙们经常同硬件、中断、RTOS等等打交道,所有这些都要求用到vola
阅读全文
摘要:#include<cstring> #include <cstdlib>#include <iostream>using namespace std;#define M 100 //LCS问题就是求两个字符串最长公共子串的问题 char* LCS(char left[],char right[]) { //获取左子串的长度,获取右子串的长度 int lenLeft=strlen(left),lenRight=strlen(right),k; //注意这里要写成char型,而不是int型,否则输入整型数据时会产生错误。 //矩阵c纪录两串的匹配情况 ...
阅读全文
摘要:void test(int nn){ const double e = 1e-6; double k = 10; double n = 2, m = k; while (n - m < -e || n - m > e) { m = k / n; n = (m + n) / 2; // cout<<n<<endl; } cout<<n<<endl;}
阅读全文
摘要:strcpy()、memcpy()、memmove()、memset()的实现;***;memcpy.asm - contains memcpy and memmove routines;; Copyright (c) 1986-1997, Microsoft Corporation. All right reserved.;;Purpose:; memcpy() copies a source memory buffer to a destination buffer.; Overlapping buffers are not treated specia...
阅读全文
摘要:http://www.cppreference.com/operator_precedence.htmlPrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 3
阅读全文
浙公网安备 33010602011771号