<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mark550的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mark550</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mark550]]></copyright><item><title><![CDATA[c++前置声明类class及结构体struct]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/84955817</link><guid>https://blog.youkuaiyun.com/mark550/article/details/84955817</guid><author>mark550</author><pubDate>Tue, 11 Dec 2018 15:32:43 +0800</pubDate><description><![CDATA[Header.h


#pragma  once
typedef struct tagPreSt
{
    int nVal;
    char szData[32];
}PreSt;

class preClass
{
public:
    int nVal;
    char szData[32];
};

 

testPre.h


#pragma once

typedef stru...]]></description><category></category></item><item><title><![CDATA[VS2008 断点失效的解决办法]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/21022517</link><guid>https://blog.youkuaiyun.com/mark550/article/details/21022517</guid><author>mark550</author><pubDate>Tue, 11 Mar 2014 16:32:34 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/fangyukuan/archive/2010/12/20/1911730.html

有时候，我们在用vs2008调试的时候，会出现断点无效。如下图：



 

第一反应，要看想一下是不是在debug下。如果在Release下，请参考我另篇文章 【怎么在Release下调试代码】

 

如果是在debug下：]]></description><category></category></item><item><title><![CDATA[SetTimer函数和 KillTimer函数]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/12709671</link><guid>https://blog.youkuaiyun.com/mark550/article/details/12709671</guid><author>mark550</author><pubDate>Mon, 14 Oct 2013 15:22:14 +0800</pubDate><description><![CDATA[SetTimer函数用于创建一个计时器，KillTimer函数用于销毁一个计时器。计时器属于系统资源，使用完应及时销毁。

　

　　SetTimer的函数原型如下：
UINT_PTR SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc ) ;
　　其中
　　hWnd是和timer关联]]></description><category></category></item><item><title><![CDATA[C#对ini文件的读写操作]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/11923717</link><guid>https://blog.youkuaiyun.com/mark550/article/details/11923717</guid><author>mark550</author><pubDate>Mon, 23 Sep 2013 11:34:40 +0800</pubDate><description><![CDATA[解决问题时候，发现ini文件相对于txt文件的优点，所以对ini文件的存储进行研究
首先在类中申明ini文件的读取函数

        [System.Runtime.InteropServices.DllImport("kernel32")]
        private static extern long WritePrivateProfileString(
          s]]></description><category></category></item><item><title><![CDATA[你究竟多想成功？（nba励志视频）]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/11832479</link><guid>https://blog.youkuaiyun.com/mark550/article/details/11832479</guid><author>mark550</author><pubDate>Thu, 19 Sep 2013 16:47:14 +0800</pubDate><description><![CDATA[曾经有一个年轻人，他只是单纯的想成功。
所以他找到了一位他视为偶像的大师，并告诉大师他想成为像大师一样强大的人。
大师说，如果你想成为像我一样的人，那么明天早晨来海滩见我。
所以那个年轻人四点的时候就赶到了，全副武装。
大师走过来摸着他的头问：“你有多想成功呢？”
年轻人说：“我真的很想！”
接着大师让他走下水。所以他就这样走进海里。
海水差不多淹到年轻人的腰际。此时的他就像一个疯子]]></description><category></category></item><item><title><![CDATA[MIT牛人解说数学体系]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/11807775</link><guid>https://blog.youkuaiyun.com/mark550/article/details/11807775</guid><author>mark550</author><pubDate>Wed, 18 Sep 2013 14:47:30 +0800</pubDate><description><![CDATA[在过去的一年中，我一直在数学的海洋中游荡，research进展不多，对于数学世界的阅历算是有了一些长进。

为什么要深入数学的世界

我没有任何企图要成为一个数学家。我学习数学的目的，是要
 想爬上巨人的肩膀，希望站在更高的高度，能把我自己研究的东西看得更深广一些。说起来，我在刚来这个学校的时候，并没有预料到我将会有一个深入数学的旅 程。我的导师最初希望我去做的题目，是对appearan]]></description><category></category></item><item><title><![CDATA[Excel—“撤销工作表保护密码”的破解并获取原始密码]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/11564149</link><guid>https://blog.youkuaiyun.com/mark550/article/details/11564149</guid><author>mark550</author><pubDate>Wed, 11 Sep 2013 14:46:04 +0800</pubDate><description><![CDATA[在日常工作中，您是否遇到过这样的情况：您用Excel编制的报表、表格、程序等，在单元格中设置了公式、函数等，为了防止其他人修改您的设置或者防止您自己无意中修改，您可能会使用Excel的工作表保护功能，但时间久了保护密码容易忘记，这该怎么办？有时您从网上下载的Excel格式的小程序，您想修改，但是作者加了工作表保护密码，怎么办？您只要按照以下步骤操作，Excel工作表保护密码瞬间即破！
    1]]></description><category></category></item><item><title><![CDATA[INI文件的操作]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/11516135</link><guid>https://blog.youkuaiyun.com/mark550/article/details/11516135</guid><author>mark550</author><pubDate>Tue, 10 Sep 2013 09:10:06 +0800</pubDate><description><![CDATA[概述

   在程序中经常要用到设置或者其他少量数据的存盘，以便程序在下一次执行的时候可以使用，比如说保存本次程序执行时窗口的位置、大小、一些用户设置的数据等等，在 Dos 下编程的时候，我们一般自己产生一个文件，由自己把这些数据写到文件中，然后在下一次执行的时候再读出来使用。在 Win32 编程中当然你也可以这样干，但 Windows 已经为我们提供了两种方便的办法，那就是使用注册表或者 i]]></description><category></category></item><item><title><![CDATA[数学 机器视觉]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/10965099</link><guid>https://blog.youkuaiyun.com/mark550/article/details/10965099</guid><author>mark550</author><pubDate>Tue, 03 Sep 2013 10:57:29 +0800</pubDate><description><![CDATA[前面几篇谈了一些对数学的粗浅看法。其实，如果对某门数学有兴趣，最好的方法就是走进那个世界去学习和体验。 
这里说说几本我看过后觉得不错的数学教科书。 
1. 线性代数 (Linear Algebra)： 
我想国内的大学生都会学过这门课程，但是，未必每一位老师都能贯彻它的精要。这门学科对于Learning是必备的基础，对它的透彻掌握是必不可少的。我在科大一年级的时候就学习了这门课，后来到了香]]></description><category></category></item><item><title><![CDATA[C语言 二维数组（指针）动态分配和释放]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9849463</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9849463</guid><author>mark550</author><pubDate>Fri, 09 Aug 2013 09:46:05 +0800</pubDate><description><![CDATA[(1)已知第二维
char (*a)[N];    //指向数组的指针
 
a = (char (*)[N])malloc(sizeof(char *) * m);
 
printf("%d\n", sizeof(a));   //4，指针
 
printf("%d\n", sizeof(a[0]));//N，一维数组
 
free(a);
(2)已知第一维
char* a[M];    /]]></description><category></category></item><item><title><![CDATA[读取bmp文件头出错]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9837221</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9837221</guid><author>mark550</author><pubDate>Thu, 08 Aug 2013 15:40:56 +0800</pubDate><description><![CDATA[typedef struct tagBITMAPFILEHEADER {
WORD           bfType;//指定文件类型，必须是0x424D，即字符串“BM”
DWORD bfSize;//指定文件大小，包括这14个字节。
WORD           bfReserved1;
WORD           bfReserved2;
DWORD bfOffBits;//为从]]></description><category></category></item><item><title><![CDATA[#pragma详解]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9837169</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9837169</guid><author>mark550</author><pubDate>Thu, 08 Aug 2013 15:32:59 +0800</pubDate><description><![CDATA[在#Pragma 是预处理指令它的作用是设定编译器的状态或者是指示编译
器完成一些特定的动作。#pragma 指令对每个编译器给出了一个方法,在保持
与C和C ++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定
义,编译指示是机器 
或操作系统专有的,且对于每个编译器都是不同的。 
其格式一般为: #Pragma Para 
其中Para 为参数，下面来看一些常用的参数。 ]]></description><category></category></item><item><title><![CDATA[bmp位图数据宽度为什么是4的倍数字节（转)]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9814545</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9814545</guid><author>mark550</author><pubDate>Wed, 07 Aug 2013 11:22:35 +0800</pubDate><description><![CDATA[位图数据记录了位图的每一个像素值，记录顺序是在扫描行内是左到右,扫描行之间是从下到上。
 当biBitCount(每个像素所需的位数)=1时，8个像素占1个字节; 
      当biBitCount=4时，2个像素占1个字节; 
      当biBitCount=8时，1个像素占1个字节; 
      当biBitCount=24时,1个像素占3个字节; 
Windows规定一个扫]]></description><category></category></item><item><title><![CDATA[最大类间方差法大津法OTSU]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9791627</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9791627</guid><author>mark550</author><pubDate>Tue, 06 Aug 2013 14:58:04 +0800</pubDate><description><![CDATA[最大类间方差法是由日本学者大津展之于1979年提出的，是一种自适应的阈值确定的方法,又叫大津法，简称OTSU。它是按图像的灰度特性,将图像分成背景和目标两部分。背景和目标之间的类间方差越大，说明构成图像的两部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。对于图像，前景(即目标)和背景的分割阈值记作，属于前景的像素点数占整]]></description><category></category></item><item><title><![CDATA[ADO.NET三个经典案例]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9666621</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9666621</guid><author>mark550</author><pubDate>Wed, 31 Jul 2013 13:12:41 +0800</pubDate><description><![CDATA[程序要和数据库交互要通过ADO.NET进行，通过AOD.NET就能在程序中执行SQL了项目内嵌mdf文件形式的连接字符串 必须加 string dataDir = AppDomain.CurrentDomain.BaseDirectory; if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\"))
 {]]></description><category></category></item><item><title><![CDATA[[C#]ExecuteNonQuery()返回值注意点  ExecuteScalar()]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9663229</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9663229</guid><author>mark550</author><pubDate>Wed, 31 Jul 2013 09:06:57 +0800</pubDate><description><![CDATA[查询某个表中是否有数据的时候，我用了ExecuteNonQuery()，并通过判断值是否大于0来判断数据的存在与否。结果与我所设想的很不一致，调试时才发现，其执行后返回的结果是-1，对此我很是不理解，回头查了下资料，如下显示：
SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。
备注：可以使用 ExecuteNonQuery]]></description><category></category></item><item><title><![CDATA[c#读取SqlServer数据显示到textbox中]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9531681</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9531681</guid><author>mark550</author><pubDate>Sat, 27 Jul 2013 18:22:20 +0800</pubDate><description><![CDATA[private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection sqlConn = new SqlConnection();
            sqlConn.ConnectionString = "server = WIN-0UEOCR8V967\\SQL2005; ]]></description><category></category></item><item><title><![CDATA[如何处理SqlServer2005安装过程中com+检查失败问题]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/9526313</link><guid>https://blog.youkuaiyun.com/mark550/article/details/9526313</guid><author>mark550</author><pubDate>Sat, 27 Jul 2013 09:02:42 +0800</pubDate><description><![CDATA[如何处理SQL Server安装过程中的COM+检查失败问题“ 
开始---运行--输入“services.msc “，在弹出来的服务中启动” System Event Notification Service “（这个是必须的，且要首先启动，如果启动类型是”禁止“，可以更改其启动方式为手动，然后再启动），完成上述后，依然是本页面继续启动”COM+ System Application“服务]]></description><category></category></item><item><title><![CDATA[各种指针的定义]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/8987689</link><guid>https://blog.youkuaiyun.com/mark550/article/details/8987689</guid><author>mark550</author><pubDate>Wed, 29 May 2013 09:15:39 +0800</pubDate><description><![CDATA[各种指针的定义：
1，一个整形数：  int a;
2，一个指向整形数的指针： int *a;
3，一个指向指针的指针，它指向的指针指向一个整形数：  int**a;
4，一个有10个整形数的数组： int a[10];
5，一个有10个指针的数组，每个指针指向一个整形数： int *a[10];
6，一个指向有10个整形数的数组的指针：  int (*a)[10];
7，一个指向指]]></description><category></category></item><item><title><![CDATA[如何判断CPU是大端还是小端]]></title><link>https://blog.youkuaiyun.com/mark550/article/details/8987540</link><guid>https://blog.youkuaiyun.com/mark550/article/details/8987540</guid><author>mark550</author><pubDate>Wed, 29 May 2013 08:32:28 +0800</pubDate><description><![CDATA[一、如何判断CPU是大端还是小端？

明白大端和小端的区别，实现起来就非常简单：
#include 
union ut{
   short s;
   char c;
}u;
int main()
{
    if(sizeof(short) == 2){
          u.s = 0x0102;
          if(u.c == 1){]]></description><category></category></item></channel></rss>