摘要:
自定义异常是在日常开发中经常使用到的;
异常类代码:
1 /**////
2 /// Represents the exception that is thrown when attempting an action that ....
3 ///
4 class SampleException : Exception
5 {
6 private string cMessage = string.Empty;
7 public override string Message
8 {
9 get
10 {
11 return cMessage;
12 }
13 }
14 public SampleExcept 阅读全文
摘要:
转 命令行编译详解
来源地址:http://blog.csdn.net/hujiao199/archive/2007/08/15/1745274.aspx
摘要:本文分析了使用 C# 命令行编译器 csc.exe 生成应用程序的过程。同时,还将向读者介绍很多为 C# 2.0 独有的编译器选项,例如,extended/reference 标志和强名称支持。阅读完本文的内容之后,您将能够轻松地在没有向导的环境中生成单文件程序集和多文件程序集。
适用于:
Microsoft Visual C# 2.0
注 本文假定您熟悉 C# 编程语言和 .NET Framework 的结构。体验一下使用命令行工具的感觉还将证明很有帮助。
下载 CSCSample.msi 文件。
本页内容
scsc.exe 带来的乐趣
C# 编译器选项概览
配置环境变量
阅读全文
摘要:
实现单元格下拉菜单的3种方法
设置数据有效性实现单元格下拉菜单的3种方法
一、直接输入:
1.选择要设置的单元格,譬如A1单元格;
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据,譬如 “1,2,3,4,5,6,7,8,9”(不包括双引号,分割符号“,”必须为半角模式)→按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。 阅读全文
摘要:
跨站点脚本攻击开发攻击在那些没有进行输入验证和输入编码的web应用程序中,并嵌入到输出数据当中.恶意的用户可以注入客户端的脚本到输出数据中,并导致正常的用户浏览页面时,脚本代码被执行。攻击脚本代码将来自于一个信任的站点并且可能绕过浏览器的安装设置。 那些攻击是平台和浏览器无关的,它将允许恶意的用户在平台上执行恶意的行为,比如在客户端给未获得授权的访问,像cookies或者劫持整个session.
在web应用程序中,简单的开发人员保护XSS 攻击包括:
1,验证和限制用户的输入
2,encoding 输出的内容。
下面,我们介绍Microsoft Anti-Cross Site Scripting Library 阅读全文
摘要:
VC++中的四种强制转换类型运算符,const_cast,reinterpret_cast,static_cast,dynamic_cast
1, static_cast(a)
将地址a转换成类型T,T和a必须是指针、引用、算术类型或枚举类型。
表达式static_cast(a), a的值转换为模板中指定的类型T。在运行时转换过程中,不进行类型检查来确保转换的安全性
Fox example:
class B { ... };
class D : public B { ... };
void f(B* pb, D* pd)
{
D* pd2 = static_cast(pb); // 不安全, pb可能只是B的指针
B* pb2 = static_cast(pd); // 安全的
} 阅读全文
摘要:
“__declspec”是Microsoft c++中专用的关键字,它配合着一些属性可以对标准C++进行扩充。这些属性有:align、allocate、deprecated、 dllexport、dllimport、 naked、noinline、noreturn、nothrow、novtable、selectany、thread、property和uuid。 阅读全文
摘要:
1,DWORD
32位无符号整形量
相当于unsigned long/unsigned int ,这是一个双字节长度的Byte型数据类型。即此类型的变量在内存中占用四个字节。
2,UInt64 结构
表示 64 位无符号整数。此结构不符合 CLS。
UInt64 值类型表示值介于 0 到 18,446,744,073,709,551,615 之间的无符号整数。
3,BYTE
1 byte = 8 bit 阅读全文
摘要:
C++的struct和class差别很小,其实class就是从struct发展出来的。struct定义的结构体在C++中也是一个类,结构体可以有class的任何东西
struct AA
{
public:
int a;
int b;
private:
int a;
int b;
protected:
int GetA() const;
void SetA();
public:
int GetB() const;
AA & operator=(const AA & a);
public:
AA();
AA(const AA & a);
};
可以看到struct和class没有区别,唯一的区别是,如果没有写public、private等,struct缺省是公有成员,class缺省是私有的。 阅读全文
摘要:
在 Web 应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的。跨站点脚本攻击就是此类攻击的一个示例。其他类型的恶意数据或不需要的数据可以通过各种形式的输入在请求中传入。通过在应用程序中的较低级别限制允许通过的数据类型,就可以阻止不希望的事件,即使当使用代码的程序员没有恰当地使用合适的验证技术时也是如此。 阅读全文
摘要:
c++是语言,但你知道,语言本身功能是很有限的,需要一些类库把常用的操作封装起来,以后可以直接调用,就节省了普通开发人员的大量精力.
stl和MFC都是一个扩充C++语言功能的类库.
stl是底层类库,提供的是一般编程都会用到的功能,主要是一套容器,和一套相关的算法.常用的数据结构,比如list, queue, stack, map等等,都在stl里面给你实现好了,直接用就是了.
MFC是高层库(相对于stl而言),它封装的是WIN32API函数,把上千个复杂的API函数封装起来,并通过自己独特的消息处理机制来方便原生windows程序的开发.MFC比stl的应用范围窄,只有在开发原生windows程序时才会用到.
阅读全文