http://www.cppblog.com/mzty/archive/2006/11/25/15657.html
http://blog.daviesliu.net/2005/08/19/224359/
ltTWXU7RplwH4polw7jLsfeQKiw
http://dev.yesky.com/123/2198123.shtml
http://book.51cto.com/art/200805/72107.htm
// 全国软考网
http://www.rkb.gov.cn/jsj/cms/
// 广东软考网
http://www.gdkszx.com.cn/
// 广东省自考网
http://www.5184.com
// VC网站
http://www.vcfans.cn/
// QT开发站
http://qt.csdn.net/technic.aspx
// 移动应用商店
http://dev.chinamobile.com/cmdn/supesite/
// 别人的Blog
http://blogs.msdn.com/yizhang/
http://blog.csdn.net/atfield
http://blog.csdn.net/pathuang68
http://doserver.net/index.php // 服务器开发
http://www.cnblogs.com/clinskun/ // 有WTL笔记
http://bbs.ioage.com/cn/thread-65713-1-1.html // 十五分钟教你写出TheWorld的COM状态栏插件
http://blog.csdn.net/luckysym/archive/2006/03/16/625615.aspx // ATL接口映射
http://wenzistudy.spaces.live.com/blog/cns!C629864439F95F16!128.entry // ATL接口映射
http://blog.csdn.net/win2ks // ATL笔记
http://blog.csdn.net/tofy // ATL的宏
// 电子书下载
http://www.aybook.cn/
http://d.download.csdn.net/down/825160/yangy608
《系统分析师考试资料》中文pdf 电子书下载
系统分析师考试辅导(2005版).pdf
系统分析师考试论文案例集.pdf
系统分析师考试论文试题分类分析与范文.pdf
系统分析与设计技术.pdf
系统分析师考试信息系统分析与设计案例试题分类精解.pdf
系统分析师考试疑难问题解答(2005版).pdf
系统分析师常用工具.pdf
系统分析与设计技术.pdf
系统分析师考试综合知识试题分类精解.pdf
系统分析师考试辅导(2008版).pdf,07年出版的
系统分析师考试论文试题分类分析与范文.pdf
系统分析师考试信息系统分析与设计案例试题分类精解.pdf
http://blog.csdn.net/hstar00004/article/details/7207626
http://www.linuxidc.com/Linux/2014-02/96459.htm
http://blog.csdn.net/wesley1991/article/details/3242565
// lua编译
http://tom.preston-werner.com/
https://github.com/webfrogs/webfrogs.github.com
// 某股票系统
https://github.com/youqiancrh/XCaimi/tree/ccadd2daefade077e46e3f8be49f3ba3769bf26d
// 统一行情交易接口
https://github.com/mfzhang/QuantBox_XAPI
// 交易网关
https://github.com/mfzhang/TradeGateway
// 金融开源实验室
https://github.com/QuantBox
http://www.quantbox.cn/
// OpenCV 的一些资源
http://www.cnblogs.com/skyseraph/archive/2011/06/16/2083147.html
http://download.csdn.net/detail/byxdaz/1860888
http://download.csdn.net/detail/juck258/3235750
// 屏幕转gif软件, C#开源的
http://screentogif.codeplex.com/
// CodeProject上的一些开源的图表控件
http://www.codeproject.com/Articles/35759/A-Simple-Pie-Chart-Control-Improved-D-Pie-Chart
http://www.codeproject.com/Articles/3642/Drive-Information
http://www.codeproject.com/Articles/14075/High-speed-Charting-Control
http://www.codeproject.com/Articles/1993/Scientific-charting-control
还有很多, 慢慢找
// 这个图表控件也非常强大
http://www.pudn.com/downloads42/sourcecode/windows/control/detail145382.html
// MFC的布局管理器源码(搜索 Resizing)
http://www.codeproject.com/Articles/125068/MFC-C-Helper-Class-for-Window-Resizing
http://www.codeproject.com/Articles/8388/Simple-and-more-powerful-resizable-dialog
// VS iso 下载地址
http://download.microsoft.com/download/2/4/7/24733615-AA11-42E9-8883-E28CDCA88ED5/X16-42552VS2010UltimTrial1.iso
http://download.microsoft.com/download/a/3/7/a371b6d1-fc5e-44f7-914c-cb452b4043a9/VS2008SP1ENUX1512962.iso
http://download.microsoft.com/download/8/1/d/81d3f35e-fa03-485b-953b-ff952e402520/VS2008ProEdition90dayTrialENUX1435622.iso
[section1]
;parameters
name1 = value
name2 = value
name3 = value
name4 = value
name5 = value
name6 = value
name7 = value
name8 = value
name9 = value
[section1]
;parameters
name1 = value
name2 = value
name3 = value
name4 = value
name5 = value
name6 = value
name7 = value
name8 = value
// http://en.wikipedia.org/wiki/INI_file
struct STINIProperties
{
std::string m_strComment;
std::string m_strName;
std::string m_strValue;
};
struct STINIsection
{
std::string m_strComment;
std::string m_strName;
// map STINIProperties
};
// map STINIsection
// 循环块进缓存
struct STHYBuffer01
{
STHYBuffer01();
~STHYBuffer01();
void Init(int nBlockCount, int nBlockSize);
void Release();
void Update(); // 步进一下
int GetCurBlock(unsigned char* pTar, int nTarLen);
unsigned char** m_pBlockBuffer; // 图像缓冲
int m_nBlockCount; // 缓冲大小
CHYCriticalSection m_hyCS; // 互斥访问
unsigned char* m_pCurBlock; // 当前显示图像
int m_nCurBlock; // 当前使用缓冲计数
int m_nBlockSize; // 帧大小(字节)
};
STHYBuffer01::STHYBuffer01()
: m_pBlockBuffer(0)
, m_nBlockCount(0)
, m_pCurBlock(0)
, m_nCurBlock(-1)
, m_nBlockSize(0)
{}
STHYBuffer01::~STHYBuffer01()
{
Release();
}
void STHYBuffer01::Init(int nBlockCount, int nBlockSize)
{
Release();
m_nBlockCount = nBlockCount;
m_nBlockSize = nBlockSize;
if(1 > m_nBlockCount)
{
m_nBlockCount = 4;
}
m_pBlockBuffer = new unsigned char*[m_nBlockCount];
int i = 0;
for(i = 0; i < m_nBlockCount; ++i)
{
if(m_nBlockSize)
{
m_pBlockBuffer[i] = new unsigned char[m_nBlockSize];
}
else
{
m_pBlockBuffer[i] = 0;
}
}
m_nCurBlock = 0;
m_pCurBlock = m_pBlockBuffer[m_nCurBlock];
}
void STHYBuffer01::Release()
{
CHYLock<CHYCriticalSection> lock(m_hyCS);
if(0 != m_pBlockBuffer)
{
int i = 0;
for(i = 0; i < m_nBlockCount; ++i)
{
if(m_pBlockBuffer[i])
{
delete [] m_pBlockBuffer[i];
}
}
delete [] m_pBlockBuffer;
}
m_nBlockSize = 0;
m_pBlockBuffer = 0;
m_nBlockCount = 0;
m_pCurBlock = 0;
m_nCurBlock = -1;
}
// 步进一下
void STHYBuffer01::Update()
{
CHYLock<CHYCriticalSection> lock(m_hyCS);
m_nCurBlock = (m_nCurBlock + 1) % m_nBlockCount;
m_pCurBlock = m_pBlockBuffer[m_nCurBlock];
}
int STHYBuffer01::GetCurBlock(unsigned char* pTar, int nTarLen)
{
CHYLock<CHYCriticalSection> lock(m_hyCS);
if(0 == pTar || 0 >= nTarLen || 0 >= m_nBlockSize || -1 == m_nCurBlock || 0 == m_pCurBlock)
{
return 0;
}
int nLen = min(nTarLen, m_nBlockSize);
memcpy(pTar, m_pCurBlock, nLen);
return nLen;
}
int DoubleValidBit(double dData)
{
double d = dData - (int)(dData);
std::string strData = ::HYBaseTypeToString(d, 10);
std::string::size_type pos0 = strData.find_last_not_of("0");
if(strData.length() - 1 == pos0)
{
pos0 = strData.find_last_not_of("9");
}
return pos0 - 1;
}
std::wstring HYDoubleToWString(double dData, int nPointCount)
{
if(-1 == nPointCount) // 自动
{
nPointCount = DoubleValidBit(dData);
if(0 == nPointCount)
{
return HYBaseTypeToWString((int)dData);
}
}
else if(0 == nPointCount)
{
return HYBaseTypeToWString((int)(dData + 0.5));
}
double dRound = pow(10.0, -nPointCount - 1);
return HYBaseTypeToWString(dData + dRound, nPointCount);
}
std::string HYDoubleToString(double dData, int nPointCount)
{
if(-1 == nPointCount) // 自动
{
nPointCount = DoubleValidBit(dData);
if(0 == nPointCount)
{
return HYBaseTypeToString((int)dData);
}
}
else if(0 == nPointCount)
{
return HYBaseTypeToString((int)(dData + 0.5));
}
double dRound = pow(10.0, -nPointCount - 1);
return HYBaseTypeToString(dData + dRound, nPointCount);
}