C++/C
文章平均质量分 69
dongfengkuayue
其实你不快乐的根源是因为你不知道要什么你不知道要什么所以你不知道去追求什么你不知道追求什么所以你什么也得不到
展开
-
.h .lib .dll文件作用和区别
简而言之(1).h是头文件,lib和dll都是库文件。(2)头文件包含声明,库文件则包含实现。(3)lib是静态链接时使用的,如果采用静态链接库,则lib包含了实际执行代码和符号表等,无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了(因此比较耗费内存)。dll用于动态链接,该 dll 不必被包含在最终 EXE 文件中,EXE 文件执行时转载 2017-01-12 22:42:18 · 696 阅读 · 0 评论 -
C++中替代sprintf的std::ostringstream输出流详解
一、简单介绍ostringstream是C++的一个字符集操作模板类,定义在sstream.h头文件中。ostringstream类通常用于执行C风格的串流的输出操作,格式化字符串,避免申请大量的缓冲区,替代sprintf。派生关系图:二、ostringstream的基本使用ostringstream的构造函数形式:explicit ostrin转载 2015-07-29 18:54:54 · 932 阅读 · 0 评论 -
VS 工程只生成dll不生成lib的解决方案
VS 工程只生成dll不生成lib的解决方案 现在编译就可生成.lib 文件了,然后把添加的文件删除,以后都没问题了.如果上边的操作是添加现有项,不能产生(.lib)的问题依旧存在.或者按下面那样将类定义为导出类:#define UNIONPOWERTOOL_ENTITY __declspec(dllexport) class UNIONPOWER转载 2015-07-29 14:05:08 · 3440 阅读 · 2 评论 -
VS中lib和dll
Lib文件先来说一说lib文件,C++中lib文件主要有两类,一种是静态的编译连接,叫做静态链接库,另一种是动态的编译链接,和Dll文件一起使用,在该小标题下,主要说一下静态链接库,另一种将在Dll文件中讲解。所谓的静态链接库,就是以.lib结尾的文件(由于有动态的编译链接的lib存在,因此并不是所有的.lib文件都是静态链接库文件),该文件可以通过VS2005建立工程,然后将项目属性中的输出转载 2015-07-29 13:14:17 · 682 阅读 · 0 评论 -
c++ explicit
C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 ,2 是个默认且隐含的类型转换操作符。所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且转载 2015-07-02 10:04:14 · 396 阅读 · 0 评论 -
larbin源码解读
1. larbin简介(百度百科) larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人Sébastien Ailleret独立开发,用c++语言实现。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。 Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情转载 2015-06-25 21:10:18 · 502 阅读 · 0 评论 -
linux编程-守护进程编写
linux编程-守护进程编写 守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待 处理某些发生的事件。守护进程是一种很有用的进程。 Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。 同时,守护进程完成许多系统任务。比如,作业规划进程crond,打印进程转载 2015-01-19 21:57:37 · 716 阅读 · 0 评论 -
C语言字体背景颜色变换以及按键探测
/*What's The Pointer?By: Thomas PowersAn experiment in everything you're never supposed to do with pointersThis is a memory peek/poke programYou can browse memory as long as it's not a chunk of转载 2015-01-08 16:51:53 · 2558 阅读 · 0 评论 -
Linux C++编译报错:"multiple definition of" / "does not name a type"
最近编译larbin_daemon爬虫服务器端管理程序时,总是会报如下的错误:g++ -c -o editConf.o editConf.cppeditConf.cpp:49:8: error: redefinition of ‘std::string projectG’editConf.h:34:8: error: ‘std::string projectG’ previously原创 2015-01-06 19:15:43 · 3018 阅读 · 0 评论 -
flex学习
flex学习 阅1.flex输入文件的格式:definition%%rule%%user codedefinition中的名称定义:name definitionrule的定义:pattern action在definition部分中,任何缩进的语句或使用%{ %}包含的语句都被完全原样地复制到输出文件中,%{ %}必须顶转载 2014-10-18 15:28:41 · 967 阅读 · 0 评论 -
cout格式化输出
是C++里的I/O流控制头文件。当希望格式化输出时使用。属于std名空间,使用其中的函数时使用该头文件,函数名前要增加std:: 或者在include之后使用using namespace std;常用函数有:setw,setprecision,dec, hex, oct,setfill。使用这些函数时要加#include 以下为百度百科里的内容:#include io代表输入输出,m转载 2014-10-16 13:38:27 · 2854 阅读 · 0 评论 -
openssl使用
1. websiteSSL(secure Socket Layer)TLS(transport Layer Security) - SSL3.0基础之上提出的安全通信标准,目前版本是1.0openssl 主页 -> http://www.openssl.org/openssl 中文文档 -> http://www.chinaunix.net/jh/13/478901.html转载 2015-07-31 10:11:02 · 546 阅读 · 0 评论 -
爬虫中robots.txt
robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。Robots.txt文件告诉蜘蛛程序在服务器上什么文件是可以被查看的。robots.txt 是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容。 当一个搜索机器人robots(有的叫搜索蜘蛛或者爬虫)访问一个站点时,它会首先检查该站点根目录下是否存在robots转载 2015-08-31 19:36:14 · 1915 阅读 · 0 评论 -
larbin源码.cc后缀sourceinsight识别
今天在读mysql代码的时候,发现.cc结尾的文件都没有添加进来,google下了,发现原来这么操作一下就ok了Options -> Document Options, Document Type 下拉选 C++ Source File, File Filter 中加入,*.cc转载 2015-09-01 09:26:49 · 1172 阅读 · 0 评论 -
qt helloworld遇到的问题
在根目录下创建 一个文件夹,名称为hello,在该文件夹下创建一个hello.cpp文件,内容如下:#include QApplication>#include int main(int argc, char **argv){ QApplication a(argc, argv); QLabel mylabel("Hello the World"); mylabel.sh原创 2016-09-24 17:39:27 · 773 阅读 · 0 评论 -
leetcode 记录 349. Intersection of Two Arrays
此题的标签为:Binary Search、Hash Table、Two Pointers Sort我的解法是直接用了hashset来做:public class Solution { public int[] intersection(int[] nums1, int[] nums2) { if(nums1.length==0||nums2.length==0)原创 2016-05-18 21:09:57 · 2358 阅读 · 0 评论 -
vs2009调试遇到问题/json解析错误/eclipse项目转myeclipse项目
今天调试错误;发现并不能够跳入到出错的函数中去,只是弹出对话框提示access violation...后来发现是因为设置的模式为release而非debug导致的,坑了我好久啊。。。========================================================================Every day is a battle!原创 2015-11-05 14:46:39 · 791 阅读 · 0 评论 -
如何在android 系统 C/C++ 层中添加 log 信息
一般情况下,我们在 android 原始 framework 层的 C/C++ 代码中添加 log 信息非常方便:只需要添加如下头文件 :#define LOG_TAG "MediaRecorder"#include 并且在 函数中添加如下 log 输出信息(如蓝色字体显示):status_t MediaRecorder::setCamera(const sp& cam转载 2015-08-20 10:10:16 · 1730 阅读 · 1 评论 -
VC编译连接选项详解
大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解。原因是多方面的。大多数情况下,我们只停留在“使用”它,而不会想去“了解”它。因为它只是一个工具,我们宁可把更多的精力放在C++语言和软件设计上。我们习惯于这样一种“模式”:建立一个项目,然后写代码,然后编译,反反复复调试。但是,所谓:“公欲善其事,必先利其器”。如果我们精于VC开发环境,我们是不是能够做得更加游刃有余呢? VC的处转载 2015-07-24 17:15:25 · 2317 阅读 · 1 评论 -
自定义互斥变量
/* * libjingle * Copyright 2004--2005, Google Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are原创 2015-07-24 18:06:29 · 631 阅读 · 0 评论 -
Debug和Release区别
VC下Debug和Release区别最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这 罗列汇总下,做为备忘~ 一、Debug 和 Release 的区别 Debug转载 2015-07-24 13:47:39 · 449 阅读 · 0 评论 -
vs project properties配置
首先,解决方案和项目文件夹包含关系(c++项目):VS解决方案和各个项目文件夹以及解决方案和各个项目对应的配置文件包含关系,假设新建一个项目ssyy,解决方案起名fangan,注意解决方案包括项目,此时生成的最外层目录为fangan代表整个解决方案的内容都在这个文件夹内。在这个fangan文件夹内包含有fangan.sln的解决方案配置文件和一个ssyy文件夹,ssyy文件夹代表整个ssy转载 2015-07-24 13:13:48 · 11706 阅读 · 1 评论 -
关于C\C++运行时库的多线程版本的工作记录
关于C\C++运行时库的多线程版本的工作记录http://www.cnblogs.com/dawen/archive/2011/05/18/2050299.html这段时间在做一个CS模式的项目,服务端运行在linux/windows平台下,使用C语言;客户端运行在windows下,使用MFC开发;开发工具为VC++6.0企业版。。在开发服务端时,由于是使用C语言,所以转载 2015-07-24 14:10:03 · 669 阅读 · 0 评论 -
静态链接和动态链接的区别
静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件的支持。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生转载 2015-07-24 14:01:26 · 2727 阅读 · 0 评论 -
C#输出日历
用C#输出日历,此功能可用于Ajax方式列出计划日程相关的内容,由于是C#控制输出,可以方便加上自己需要的业务处理逻辑。1.控制台输出:using System;namespace 控制台日历{ class Program { public static void Main(string[] args) { string s = " ";转载 2014-10-15 22:11:19 · 993 阅读 · 0 评论 -
题目1156:谁是你的潜在朋友
这题值得反复的推敲原创 2014-10-14 21:27:40 · 1700 阅读 · 1 评论 -
汇编中的PTR含义/用法
2011-03-03 17:11:34| 分类: 汇编 | 标签:ptr 字节 寄存器 bx word |举报|字号 订阅 ptr -- pointer (既指针)得缩写。 汇编里面 ptr 是规定 的 字 (既保留字),是用来临时指定类型的。 (可以理解为,ptr是临时的类型转换,相当于C语言中的强制类型转换)如 mov a转载 2014-04-16 10:58:57 · 48496 阅读 · 1 评论 -
printf()输出格式控制
printf()输出格式控制 int printf(const char *format,[argument]); format 参数输出的格式,定义格式为: %[flags][width][.perc] [F|N|h|l]type 规定数据输出方式,具体如下: 1.type 含义如下: 整数转载 2014-03-20 12:01:49 · 2161 阅读 · 0 评论 -
进位和溢出
通过对结果的分析,得出以下溢出和进位的确定方式:不管你把数据视为无符号还是有符号,计算时自动把最高位视为符号位.当两个符号位相同的数做加法时,如果结果的符号位发生变化,则为溢出.当两个符号位不同的数做减法时,以A-B=C为例,如果A与C的符号位不同则为溢出.其它情况下均不会有溢出.关于进位:当两个数相加的结果的长度增大时会产生进位.如果将数看作无符号的(不管机器如何看待它们),小数减大数一转载 2014-04-16 15:35:06 · 3937 阅读 · 0 评论 -
GDT详解
在Protected Mode下,一个重要的必不可少的数据结构就是GDT(Global Descriptor Table)。 为什么要有GDT?我们首先考虑一下在Real Mode下的编程模型: 在Real Mode下,我们对一个内存地址的访问是通过Segment:Offset的方式来进行的,其中Segment是一个段的Base Address,一个Segment的最大长度是64 KB,这转载 2014-04-16 15:20:10 · 2318 阅读 · 0 评论 -
static
对于C/C++语言来讲,const就是只读的意思,只在声明中使用;static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放;对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内函数可见.static const 应该就是上面两者的合集.下面分转载 2014-03-15 10:07:36 · 619 阅读 · 0 评论 -
getline函数
百度百科解释:http://baike.baidu.com/view/3127321.htm(还是蛮详细的)过去一直把getline当C语言的函数,已纠正。functionstd::getline (string)C++98C++11(1)istream& getline (istream& is, str转载 2014-03-16 15:09:09 · 2018 阅读 · 0 评论 -
sscanf和sprintf
很少用到sscanf和sprintf,但是后来逐渐意识到丰富对编程语言的认识是十分重要的,循规守旧(总是用自己熟悉的)其实也是一种懒惰。下面是一段摘抄:sscanf()函数,一般在处理输入时,特别是输入一堆字符串的时候,旺旺使用空格隔开的,在空格隔开的时候,大家在读入的时候,可以先使用scanf("%s%s%s",str1,str2,str3)读入这3个串:若在str2中,有一种特殊的格式原创 2014-03-15 17:25:11 · 1720 阅读 · 1 评论 -
关于%d %3d %-3d %03d 等的区别和列宽的设置方法
设置列宽有多种方法,其中两种为: 1:%nd:n代表的是列宽长度。 (1)%-nd - 代表的是左对齐。 (2)%0nd 0(数字零)代表的是不足n位长度的左补齐0。2:cout.width(n),设置列宽长度为n。转载 2014-03-13 19:25:30 · 15849 阅读 · 1 评论 -
C++ cout格式化输出
将 cout 的 flag 保存到变量, 以便修改后的恢复 ostream::fmtflags old = cout.flag() ; // 无参将返回当前 flag 值 cout.flag(old) ; // 恢复到原先保存的值将 bool 值以 literals 输出cout "nu转载 2014-03-14 11:10:45 · 5647 阅读 · 0 评论 -
c++stl中reverse
看到有人对int型指针传入reverse函数中,长知识了。reverseVisual Studio 2013其他版本此主题尚未评级 - 评价此主题反转元素的顺序在范围内。template void reverse( Bidirec原创 2014-03-12 18:44:49 · 44395 阅读 · 0 评论 -
C语言中的Read和Write函数
读函数read ssize_t read(int fd,void *buf,size_t nbyte) read函数是负责从fd中读取内容.成功时,read返回实际所读的字节数,如果返回的值是0,表示已经读到文件的结束了.小于0表示出现了错误.如果错误为EINTR说明读是由中断引起的, 如果是ECONNREST表示网络连接出了问题. 写函数write转载 2014-03-22 20:35:15 · 6805 阅读 · 0 评论 -
c++栈和堆的区别
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回转载 2014-03-22 22:18:12 · 1522 阅读 · 0 评论 -
c语言的堆栈机制
原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是转载 2014-03-22 22:34:22 · 1171 阅读 · 0 评论 -
内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理][转载]
内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理][转载]一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。转载 2014-10-12 22:47:58 · 788 阅读 · 0 评论