易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : c

C字符串处理函数的实现

本文来自: http://blog.pfan.cn/xiuandfang/24935.html
标签:C C ++ string String 数据结构 
C字符串处理函数的实现

C字符串处理函数的实现(Linux)
#include <stddef.h>
 char * ___strtok = NULL;
 
 char * strcpy(char * dest,const char *src)
 {
         char *tmp = dest;
 
         while ((*dest++ = *src++) != '\0')
                 /* nothing */;
         return tmp;
 }
 
 char * strncpy(char * dest,const char *src,size_t count)
 {
         char *tmp = dest;
 
         while (count-- && (*dest++ = *src++) != '\0')
              &nbs ......

Linux中常用的C\C++头文件

1、  一些头文件的作用:
<assert.h>:ANSI C。提供断言,assert(表达式)
<glib.h>:GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含<glib.h>
<dirent.h>:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等
<ctype.h>:ANSI C。字符测试函数。isdigit(),islower()等
<errno.h>:ANSI
C。查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include
errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较
麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了。来自linux
2.4.20-18的内核代码中的/usr/include/asm/errno.h
<getopt.h>:处理命令行参数。getopt()
2、
-------------------------
linux常用头文件如下:
POSIX标准定义的头文件
<dirent.h>        目录项
<fcntl.h> &n ......

Linux中常用的C\C++头文件

1、  一些头文件的作用:
<assert.h>:ANSI C。提供断言,assert(表达式)
<glib.h>:GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含<glib.h>
<dirent.h>:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等
<ctype.h>:ANSI C。字符测试函数。isdigit(),islower()等
<errno.h>:ANSI
C。查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include
errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较
麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了。来自linux
2.4.20-18的内核代码中的/usr/include/asm/errno.h
<getopt.h>:处理命令行参数。getopt()
2、
-------------------------
linux常用头文件如下:
POSIX标准定义的头文件
<dirent.h>        目录项
<fcntl.h> &n ......

Linux中常用的C\C++头文件

1、  一些头文件的作用:
<assert.h>:ANSI C。提供断言,assert(表达式)
<glib.h>:GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含<glib.h>
<dirent.h>:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等
<ctype.h>:ANSI C。字符测试函数。isdigit(),islower()等
<errno.h>:ANSI
C。查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include
errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较
麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了。来自linux
2.4.20-18的内核代码中的/usr/include/asm/errno.h
<getopt.h>:处理命令行参数。getopt()
2、
-------------------------
linux常用头文件如下:
POSIX标准定义的头文件
<dirent.h>        目录项
<fcntl.h> &n ......

MISRA C :让嵌入式系统更加安全可靠的一些关键规则

转自:http://www.bmrtech.com/article/2008/081126.htm
    没人能否认嵌入式应用正变得越来越普遍。但是,当系统越来越复杂,而我们赋予系统越来越多的责任的时候,我们将必须面对一些重要问题。其中最重要的问题是:我们如何才能确保嵌入式系统是安全可靠的?
C 编程语言为用户提供了许多强大的功能,几乎与汇编语言一样强大。此外, C 语言还包含了一些在标准中未明确定义的区域和不用定义就能实现的条款。
用 C 来编写一个安全可靠的程序并不仅仅意味着该程序能完全按照编程者的预期来运行。它被移植到一个不同的环境下也需要正确运行。更重要的是,当其他人员阅读这些源代码时,它们必须像水晶一样清晰明了:一方面简化了不必要的猜测和诠释,另一方面当基于这些代码来做进一步开发时,能规避诱发新错误的风险。
汽车工业软件可靠性协会 (MISRA) 采取的措施是定义一套 C 编程语言的子集。如果在应用开发中仅使用这个子集,那么许多 C 编程语言中存在的缺陷就能被规避了。
这个子集名称为 "MISRA C" ,在一本名为“ Guides For The Use Of The C Language In Vehicle Based Software ”的手册中有具体定义。该指南共包括 127 条规则,分为 ......

Java中无法捕获C程序printf输出的问题

在测试
ConsoleRunner
的过程中发现一个有意思的现象,一段很简单的
C
程序:
 
#include <stdio.h>
#include <windows.h>
 
int main() {
   
int i = 0;
   
for (;;) {
       
printf("%d\n", i++);
       
Sleep(500);
   
}
   
return 0;
}
 
ConsoleRunner
竟然无法捕获其输出,如果把
Sleep
拿掉就行,或者如果改用
C++

cout
也行,很奇怪,怀疑是缓冲区的问题,上网查找,果然如此,见“
fflush(stdout)
的用途是什么(http://bbs.chinaunix.net/viewthread.php?tid=693309)”,程序中加上一行后,问题消失:
 
#include <stdio.h>
#include <windows.h>
 
int main() {
   
int i = 0;
   
for (;;) {
       
printf("%d\n", i++);
       
fflush(stdout);
  &n ......

Java中无法捕获C程序printf输出的问题

在测试
ConsoleRunner
的过程中发现一个有意思的现象,一段很简单的
C
程序:
 
#include <stdio.h>
#include <windows.h>
 
int main() {
   
int i = 0;
   
for (;;) {
       
printf("%d\n", i++);
       
Sleep(500);
   
}
   
return 0;
}
 
ConsoleRunner
竟然无法捕获其输出,如果把
Sleep
拿掉就行,或者如果改用
C++

cout
也行,很奇怪,怀疑是缓冲区的问题,上网查找,果然如此,见“
fflush(stdout)
的用途是什么(http://bbs.chinaunix.net/viewthread.php?tid=693309)”,程序中加上一行后,问题消失:
 
#include <stdio.h>
#include <windows.h>
 
int main() {
   
int i = 0;
   
for (;;) {
       
printf("%d\n", i++);
       
fflush(stdout);
  &n ......

PC之父C. Thacker荣获2009年图灵奖


根据ACM官方网站3月9日发布的消息,2009年图灵奖授予了现代PC之父Charles Thacker,以表彰他对第一台现代个人计算机Xerox PARC Alto的先驱性设计与实现,还有在局域网(包括以太网)、多处理器工作站、窥探高速缓存一致性协议和平板PC等方面的重大发明和贡献(For the pioneering design andРrealization of the first modern personal computɥrthe Alto at Xerox PARC and seminal inventionɳ and contributions to local area networks (including the Ethernet), multiprocessor workstations, snooping cache coherence protocols, and tablet personal computers)。
ACM主席Dame Wendy Hall说,Charles Thacker是计算机系统领域最杰出的工程师之一。他的一个又一个成就对现代计算机技术产生了深远影响。
而Intel公司的研究中心副总裁Andrew Chien则表示,Charles Thacker的Alto设计已经具备了今天个人电脑的各种关键要素,为PC这个世界最具创造性而且惠及全球的产业奠定了基础。
Thacker的获奖使计算机体系架构方面的获奖次数增加到6次(不含主要贡献是操作系统的Brooks)。从获奖学科领域来看,编程技术和理论计算机科学还是大户,分别有12次和11 ......

C和C++语言学习总结(一)

C和C++语言学习总结(一)
知识结构:
1、if,for,switch,goto
2、#define,const
3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof
4、函数参数传递,内存分配方式,内存错误表现,malloc与new区别
5、类重载、隐藏与覆盖区别,extern问题,函数参数的缺省
值问题,宏代码与内联函数区别
6、构造和析构的次序,String函数定义
具体实现:
1、if,for,switch,goto
if:
bool int float pointer char 变量的使用方法
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return 的使用方法
if(condition) 可以等价为 return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
执行效率问题:
int row,col,sum;
int a[100][5];
for(row=0;row <100;row++) 效率低于 for(col=0;col <5;col++)
{ {
for(col=0;col <5;col++) for(row=0;row <100; ......

C和C++语言学习总结(一)

C和C++语言学习总结(一)
知识结构:
1、if,for,switch,goto
2、#define,const
3、文件拷贝的代码,动态生成内存,复合表达式,strcpy,memcpy,sizeof
4、函数参数传递,内存分配方式,内存错误表现,malloc与new区别
5、类重载、隐藏与覆盖区别,extern问题,函数参数的缺省
值问题,宏代码与内联函数区别
6、构造和析构的次序,String函数定义
具体实现:
1、if,for,switch,goto
if:
bool int float pointer char 变量的使用方法
bool bParam;
int iParam;
float fParam;
int* pParam;
char cParam;
if(bParam) ,if(!bParam);
if(iParam == 0 ),if(iParam != 0 );
if(fParam>= -0.00001 && fParam <= 0.00001);
if(pParam == NULL),if(pParam != NULL);
if(cParam == '\0'),if(cParam != '\0');
if/else/return 的使用方法
if(condition) 可以等价为 return (condition?x:y);
{
return x;
}
else
{
return y;
}
for:
执行效率问题:
int row,col,sum;
int a[100][5];
for(row=0;row <100;row++) 效率低于 for(col=0;col <5;col++)
{ {
for(col=0;col <5;col++) for(row=0;row <100; ......
总记录数:2015; 总页数:336; 每页6 条; 首页 上一页 [106] [107] [108] [109] 110 [111] [112] [113] [114] [115]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号