
编程语言-程序设计-编译器规范
文章平均质量分 74
wwl33695
这个作者很懒,什么都没留下…
展开
-
C++对象类型转换问题概括总结
C++里,对象类型转化问题是需要严加注意的一个问题,包括隐式转换,强制转化,旧式转化等种类,需要加以总结。本篇文章概括总结类型转化问题,并侧重于类型的隐式转换问题。关于强制转换的详细的内容放在下篇文章中总结。一。类型相关:如果两个类型可以相互转换,则称这两个类型相关。只用相关类型之间才可能发生隐式类型或显示类型转换。1.算术类型之间的转换:算术类型指不包括void的内置类型,算术类型之转载 2013-07-23 14:39:34 · 579 阅读 · 0 评论 -
Retrofitting Programming Languages for a Parallel World
Four features we need, and five qualities we should desireJames Reinders, Senior Engineer, Intel Corp. The most widely used computer programming languages today were not designed as parallel p转载 2013-03-14 13:40:16 · 408 阅读 · 0 评论 -
七大前景很好的程序设计编程语言介绍
想做企业应用开发的程序人员,如果不学习Java、不学c#或PHP等主流程序设计语言,那将是愚蠢的事情。但像Ruby和Erlang那种过去主要针对特定领域的程序设计语言,如今也已成为企业应用的开发语言。在企业级程序设计语言领域,主流语言总是博大精深。程序码主要由少数几种主流程序设计语言来撰写,一些场合用Java,另外一些场合用c#或PHP;有时,在像游戏程序设计这样追求高性能的任务中,重量级转载 2013-03-14 13:45:51 · 3478 阅读 · 0 评论 -
用最快的速度设计一种新的编程语言
最近打算写一些列有趣、而且有一定难度的文章。这个系列的名字就叫《疯狂极客》,这一系列的文章大多数与计算机有密切的关系。包括制作编译器、制作OS、Android控制电路板、机器人的制作(通过Android、IOS等设备控制)等等。源代码下载 在正式开始《疯狂极客》系列文章之前,先来热热身。用最短的时间设计一种简单,但好玩的编程语言CShell(不过不用担心,实现CShell解析器基本上用不着转载 2013-03-14 13:36:03 · 359 阅读 · 0 评论 -
C是什么样的语言
在Donald C. Gause 和Gerald M. Weinberg 合著的《你的灯亮着吗?》一书中,有这样一节。某计算机制造商开发了一种新型打印机。技术小组在如何保证打印精度的问题上非常苦恼,每次进行新的测试时,工程师都不得不花很长的时间测量打印机的输出结果来追求精确性。丹(Dan Daring)是这个小组中最年轻但或许是最聪明的工程师。 他发明了一种工具,即每隔8 英寸转载 2013-03-14 12:40:04 · 354 阅读 · 0 评论 -
ASCII,Unicode和UTF-8
1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位转载 2013-03-01 12:17:24 · 235 阅读 · 0 评论 -
骆驼命名法,帕斯卡命名法和匈牙利命名法
一、匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中。 Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯?西蒙尼(Charles Simonyi) 提出的。 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。这些符号可转载 2013-03-01 12:18:08 · 263 阅读 · 0 评论 -
如何编写出拥抱变化的代码?
摘要:编写高效优质的代码一直是程序员所追求的目标之一,那么什么样的代码才叫优质呢?其中最重要的莫过于易维护、易修改。本文作者从面向对象和SOLID两大方面,非常详细地总结了如何编写出易修改的代码,绝对让你受益匪浅。在实际的开发中,编写出易维护和易接受变化的代码并非易事,想要实现可能更加困难重重:源码难于理解、依赖关系指向不明、耦合也很令人头疼。难道就真的就没有办法了吗?本文中我们一起探讨几个技转载 2013-02-28 10:05:24 · 287 阅读 · 0 评论 -
我写的类模型
//类模板class classname{ //构造函数 classname() { } //析构函数 ~classname() { //停止业务逻辑操作 bl_stop(); //释放内存 release_memory(); } //初始化业务逻辑· bool bl_init(...) {原创 2013-03-11 10:54:54 · 381 阅读 · 0 评论 -
程序长时间运行崩溃,VC运行库BUG
最近發現Visual C++ 6.0有一個有趣的,能讓programmer發瘋的bug。Debug版本編譯出來的程序可能最終會異常中止,也許是報告程序停在斷點xxxxxxx。更確切地說是用debug 版本的運行時庫編譯的程序。由於項目需要寫了一個求最短路徑的引擎。 運行穩定(內存,CPU,Handle count 保持未定),但是一段時間後,進程突然退出(crash?)。確切地說是計算转载 2013-02-20 15:20:01 · 1337 阅读 · 0 评论 -
理解操作系统对程序的反馈:异常(Exception)和通知(Debug Event)
本小节首先介绍异常的原理和相关资料,再举例说明异常跟崩溃和调试是如何紧密联系在一起的。最后说明如何利用工具来监视异常,获取准确的信息。2.3.1 异常(Exception)的方方面面和一篇字字珠玑的文章异常是CPU,操作系统和应用程序控制代码流程的一种机制。正常情况下,代码是顺序执行的,比如下面两行:*p=11;printf(“%d”,*p);这里应该会打印出11。 但若p指向转载 2013-02-20 16:23:03 · 1031 阅读 · 0 评论 -
编译器工作原理
编译器,是将便于人编写,阅读,维护的高级计算机语言翻译为计算机能识别,运行的低级机器语言的程序。编译器将源程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。源程序一般为高级语言(High-level language),如Pascal,C++等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(M转载 2013-02-18 15:00:41 · 896 阅读 · 0 评论 -
crt0.c代码内容解释和编译器构造
下面用红色字体,做部分解释: 1/**//*** 2*crt0.c - C runtime initialization routine 3* 4* Copyright (c) 1989-1997, Microsoft Corporation. All rights reserved. 5* 6*Purpose: 7* Th转载 2013-02-17 17:05:58 · 1578 阅读 · 0 评论 -
dll函数名修饰C++约定规则:
C++编译时函数名修饰约定规则:__stdcall调用约定:1、以"?"标识函数名的开始,后跟函数名;2、函数名后面以"@@YG"标识参数表的开始,后跟参数表;3、参数表以代号表示:X--void ,D--char,E--unsigned char,F--short,H--int,I--unsigned int,J--long,K--unsigned原创 2013-03-29 13:23:34 · 413 阅读 · 0 评论 -
负载大逃亡:四十二路怪兽联军及七条逃生法则
摘要:横向扩展与纵向扩展帮助我们处理了大量的高负载问题,然而优秀的程序设计仍然是不可忽视的。一个有设计缺陷的应用程序在低负载情况下可能表现不出来,然而随着负载的增加,各种各样的问题随之而来。Todd Hoff展示了负载加重后出现的42个“怪兽”级问题,并展示了7条逃生法则。尽管你很精心的“烹制”你的应用程序,但是随着负载的增加,所有灾难都将降临。当然你可以使用横向扩展或纵向扩展,但是你同样转载 2013-03-22 09:37:19 · 314 阅读 · 0 评论 -
Windows下Nginx+PHP+MySQL环境搭建
Nginx是一个高性能的HTTP和反向代理服务器,同时还是IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定、低系统资源消耗而闻名。近几年Nginx在国内已经成炙热化状态,比如像腾讯、网易、51CTO、迅雷、当当网、51、人人网等诸多大型网站都已经使用Nginx来做Web服务器,所以学习Nginx还是非常有必要的。2011年6月1日,ngi转载 2013-04-11 10:44:33 · 722 阅读 · 0 评论 -
哪门编程语言影响力最大?
摘要:一门编程语言的影响力到底有多大呢?Ramio Gómez根据成千上万条数据制作了编程语言影响力关系图,从图中可以得知,影响力较大的编程语言有:C、Lisp、Pascal、Java、Smalltalk。TIOBE每个月都会给编程语言排名,从侧面说明哪些编程语言使用比较广泛。那么你是否考虑过这些编程语言彼此之间的影响力呢?哪一门语言的影响力是最大的呢?显而易见,大多数开发者都会认为他转载 2013-07-18 15:23:13 · 600 阅读 · 0 评论 -
C++关键字解析
简介关键字(keyword)又称保留字,是整个语言范围内预先保留的标识符。每个C++关键字都有特殊的含义。经过预处理后,关键字从预处理记号(preprocessing-token)中区出来,剩下的标识符作为记号(token),用于声明对象、函数、类型、命名空间等。不能声明与关键字同名的标识符。各个版本的ISO C++都规定以下划线接大写字母起始的标识符保留给实现[1-3]。编译器可原创 2013-07-16 16:46:21 · 654 阅读 · 0 评论 -
C语言关键字解析
ANSI C标准C语言共有32个关键字,这些关键字如下:auto break case char const continuedefault do double else enum externfloat for goto if int longregister return short signed sizeof staticstruct switch t原创 2013-07-16 17:30:15 · 595 阅读 · 0 评论 -
避免代码注释的五大理由
摘要:代码注释的作用一直以来都被程序员们广泛讨论。很多人认为注释不是必要的,写注释那是因为代码可读性太差了。原文作者Paulo Ortins发表了博文《避免代码注释的五大理由》,一起来看下。代码注释的作用一直以来都被程序员们广泛讨论。很多人认为注释不是必要的,写注释那是因为代码可读性太差了。原文作者Paulo Ortins发表了博文《5 reasons to avoid code commen转载 2013-07-15 18:18:19 · 422 阅读 · 0 评论 -
代码风格
代码风格代码风格最早出现的,也较为传统的是K&R风格。所谓K&R即指《The C Programming Language》一书的作者Kernighan和Ritchie二人,这是世界上第一本介绍C语言的书,而K&R风格即指他们在该书中书写代码所使用的风格。K&R风格在处理大括号时,使用了一种较为紧凑的格式,将左括号留在前一行的末尾,并尽可能地压缩...目录基本的原创 2013-06-28 10:12:35 · 523 阅读 · 0 评论 -
各种流行的编程风格
摘要:在过去的N年中,我遇到了很多使用囧然不同风格的开发者,下面是我所知道的一些,你还知道其它的吗?各种编程风格就像用不同的方式创作电影、音乐,没有最好,只有更适合。在过去的N年中,我遇到了很多使用囧然不同风格的开发者,下面是我所知道的一些,你还知道其它的吗?散弹枪编程这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么我会试着把传出的参数从 false转载 2013-06-28 10:07:02 · 279 阅读 · 0 评论 -
元编程
元编程的概念元编程(Metaprogramming)是指某类计算机程序的编写,这类计算机程序编写或者操纵其他程序(或者自身)作为它们的数据,或者在编译时完成部分本应在运行时完成的工作。很多情况下比手工编写全部代码相比工作效率更高。编写元程序的语言称之为元语言,被操作的语言称之为目标语言。一门语言同时也是自身的元语言的能力称之为反射。反射是促进元编程的一种很有价值的语言特性。把编程语言自身作原创 2013-06-28 09:55:09 · 462 阅读 · 0 评论 -
函数式思维: 为什么函数式编程越来越受关注
简介: Java™ 即使不打算立刻改用函数式语言(比如 Scala 或 Clojure),Java 开发人员也应该了解函数式范式。随着时间的推移,所有主流语言都将变得更加函数化;Neal Ford 将在本期文章中探讨其中的原因。关于本系列本系列的目标是重新调整您对函数式思维的认识,帮助您以全新的方式思考常见问题,并寻找提升您的日常编码能力的方法。本系转载 2013-07-11 09:44:08 · 645 阅读 · 0 评论 -
计算机科学中最重要的32个算法
奥地利符号计算研究所(Research Institute for Symbolic Computation,简称RISC)的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结果,按照英文名称字母顺序排序。1 A* 搜索算法——图形搜索算法,从给定起点到给定终点计算出路径转载 2013-06-19 10:05:42 · 477 阅读 · 0 评论 -
PHP最佳实践
PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都有自己独有的特性、多余和怪异之处,也很难跟踪哪个版本有哪些问题。这也就 很好理解为什么有时它会遭到那么多的厌恶。尽管如此,如今它还是Web开发方面最流行的语言。因其悠久的历史,对于实现密码哈希和 数据库访问诸如此类的基本任务你能够找到很多教程。但问题在于,5个教程,你就很有可能 找到5种完全不同的完转载 2013-06-04 13:43:36 · 384 阅读 · 0 评论 -
INT 21H 指令说明及使用方法
很多初学汇编语言的同学可能会对INT 21H这条指令感到困惑,不知道是什么意思,下面就以一段简单的程序为大家讲解:例如:需要键盘输入,并且回显。AH的值需要查表取得,表在下面指令:MOV AH,01 INT 21H通过这样两条指令,输入的字符就会被存储在AL中。 表:DOS系统功能调INT 21HAH功能调用参数转载 2013-04-22 13:23:35 · 612 阅读 · 0 评论 -
visual studio CRT主函数源代码
/****crtexe.c - Initialization for console EXE using CRT DLL** Copyright (c) Microsoft Corporation. All rights reserved.**Purpose:* This is the actual startup routine for apps原创 2013-04-11 17:12:57 · 1569 阅读 · 0 评论 -
PHP常用库函数
判断一个编程语言的功能强弱,可以从他的库函数入手。一个较好的编程语言,必然有较强的库函数。I/O函数Flush函数描述:flush();说明:函数Flush刷新PHP的输出缓存,它尽量将缓和存中的内容输出到用户的浏览器。返回值:无Print函数描述:print(string arg,string[arg],…);说明:函数print输入所有的参数。返回值:若输出原创 2013-02-17 14:01:57 · 341 阅读 · 0 评论 -
服务器端脚本语言VS客户端脚本语言
1. 服务器端常见的服务器端语言,php,jsp,asp 像我们普通浏览网页所使用的BS模式,其实他也只是一中统一于Browser(浏览器)的CS模式。我们的浏览器作为客户端,在点击链接或者输入地址时,向目的主机发送HTML,FTP等等服务请求,然后目的主机根据请求类型,请求内容给予响应。这种万变不离其宗的服务形式普遍存在于所有的网络通信模式中。 服务器脚本很简单,他是应于提交和处理表单,转载 2013-02-02 13:39:29 · 877 阅读 · 0 评论 -
优秀程序员不得不知道的20个位运算技巧
一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一转载 2012-12-13 12:46:46 · 236 阅读 · 0 评论 -
代码之谜系列
代码之谜(零)- 开篇/前言/序 其实,你不懂代码2012年9月28日 13时32分 新增最近看本文评论,争议很多,我先说说这篇文章的前世今生吧。我原文标题是『代码之谜 - 开篇/前言/序』,副标题是『其实,你不懂代码』,本来打算用“其实,代码中的运算符不等价于数学符号”。原文我写于2010年底,当时写在 evernote 中,用了”群“、”域“、”集合“、”关系“的概念解释了计算机中转载 2012-11-21 12:56:05 · 1169 阅读 · 0 评论 -
五分钟学会HTML5!
语义标签和页面布局我们首先讲一个关于一所大学的经典故事。这所大学在建设校园草地时,没有开辟任何步行小道,他们把整个空地种上草,然后等待。一年以后,人们经常走过的地方,草都被踩光了。于是,这所大学就将这些地方铺设为真正的人行道。棒极了!这些人行道是人们真正“走”出来的。HTML5新语义元素的诞生正是基于同样的逻辑。(关于这一点,可以参看W3C设计指南中的“Pave the转载 2012-12-03 09:44:46 · 1459 阅读 · 0 评论 -
javascript 加载ocx代码
javascript 代码 复制代码 代码如下: myfunction(videoID,uMsgCode,bsMsgBody); function myfunction(videoID, uMsgCode, bsMsgBody) { alert(videoID); } function test() { //首先创建一原创 2012-11-15 17:30:35 · 418 阅读 · 0 评论 -
HTML加载控件-文件
1.加载自己写的ActiveX控件CLASSID="CLSID:A0A0038E-E527-4DF8-9AA6-AA087F56BC1B">2.加载Flash文件 codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" WIDTH转载 2012-11-14 18:47:40 · 316 阅读 · 0 评论 -
电脑蓝屏代码解析及解决方案
一、windows蓝屏代码速查0 0x0000 作业完成。 1 0x0001 不正确的函数。 2 0x0002 系统找不到指定的档案。 3 0x0003 系统找不到指定的路径。 4 0x0004 系统无法开启档案。 5 0x0005 拒绝存取。 6 0x0006 无效的代码。 7 0x0007 储存体控制区块已毁。 8 0x0008 储存体空间不足,无法处理转载 2012-11-07 16:14:21 · 2104 阅读 · 0 评论 -
SQL语句高级技巧
0 引言 随着计算机在社会各领域应用的深入,软件开发人员不得不面临着或多或少的数据处理、数据库访问。在SQL(Structured Query Language)语言DML中,有四大语句堪称其精髓部分。下面就讲述一下其中之一, Case When 语句的用法。本文介绍用它实现数据仓库中的维度转换,来将数据展现给分析人员来进行决策支持与分析。 C转载 2012-11-02 14:55:00 · 2763 阅读 · 0 评论 -
汇编基本问题
几个简单的汇编初学者问题总结 0 关于指令时间的问题 上次有兄弟问关于 指令时间的问题,答复查看 intel 手册是一个办法。但很多人没有那个东东吧!,所以可以用另一招,在编译时加入 /Sc 选项:ML /Fl /Sc Kinds.asm还有有位兄弟问过 为什么 mov ax,offset table 比 lea ax,table 速度要快?但到底快到什么程度转载 2012-10-31 14:25:04 · 488 阅读 · 0 评论 -
com 技术应用
一、前言 公元一九九五年某个夜黑风高的晚上,我的一位老师跟我说:“小杨呀,以后写程序就和搭积木一样啦。你赶快学习一些OLE的技术吧......”,当时我心里就寻思 :“开什么玩笑?搭积木方式写程序?再过100年吧......”,但作为一名听话的好学生,我开始在书店里“踅摸”(注1)有关OLE的书籍(注2)。功夫不负有心人,终于买到了我的第一本COM书《OLE2 高级编程技术》,这本800多页转载 2012-10-17 13:26:36 · 2225 阅读 · 0 评论 -
COM技术入门
本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。 COM即组件对象模型,是Component ObjectModel 取前三个字母的缩写,这三个字母在当今Windows的世界中随处可见。随时涌现出来的大把大把的新技术都以COM为基础转载 2012-10-17 12:48:26 · 881 阅读 · 0 评论