小编T. *_*ter的帖子

只有一个无参数的基类构造函数是一个很好的设计实践吗?

在基类构造函数中,我总是看到一个无参数构造函数,如下所示:

   public abstract BaseClass {...
protected BaseClass() { }
...}
Run Code Online (Sandbox Code Playgroud)

但是在基类构造函数中包含参数是否可以接受呢?

   public abstract BaseClass {...
protected BaseClass(string initObj) { }
...}
Run Code Online (Sandbox Code Playgroud)

c# design-patterns

4
推荐指数
1
解决办法
312
查看次数

如何使(.cs)代码文件在Visual Studio解决方案资源管理器中的另一个代码文件下展开/折叠?

在Visual Studio 2008/2010中,可以在解决方案资源管理器中的另一个.cs文件下放置一系列简单的.cs代码文件.此行为类似于在向解决方案添加WPF UserControl时看到的文件排列方式,而单个.cs文件可以在.xaml文件下折叠/展开.

你如何使解决方案以这种方式安排文件?我已经查看了一些显而易见的地方,比如文件属性窗格,解决方案和.csproj属性页面.

projects-and-solutions visual-studio-2010 visual-studio

4
推荐指数
2
解决办法
1046
查看次数

Windows上的缓冲区溢出攻击导致访问冲突

我刚刚开始研究缓冲区溢出攻击是如何工作的,并尝试使用Visual C 2010 模拟对Windows 7的攻击.缓冲区溢出攻击是非常人为的,它只是将返回地址覆盖到"缓冲区"局部变量的地址.缓冲区包含shellcode字符串.

无论我是否在Visual Studio 2010 Debug中运行程序,程序都会跳转到shellcode并几乎开始执行它,但是我遇到了Access Violation错误,程序将不会继续执行shellcode.

为什么我收到此错误?这是否可以防止Windows中的缓冲区溢出?

会如何,你让程序在缓冲区执行的shellcode?

编辑:

汉斯(回答)是对的.这在Windows Internals 5th的安全章节中讨论,错误的原因是Microsoft的可执行空间保护实现.

如果这个问题对任何人都有帮助,那么任何赞成票都会受到赞赏

void execute_my_shellcode()
{
    char buffer[24];
    memcpy(buffer, "\x6A\x21\xFF\x15\x40\x62\x40\x00\x83\xC4\x04\x6A\x0A\xFF\x15\x40\x62\x40\x00\x83\xC4\x04\xC3", 24); 
    printf("current return address: %p\n", *(int*)((char*)&buffer + 24 + 4));   
    *(int*)((char*)&buffer + 24 + 4) = (int)&buffer; 
    printf("return address is now : %p\n\n", (int*)*(int*)((char*)&buffer + 24 + 4) );
}
Run Code Online (Sandbox Code Playgroud)

c security shellcode

4
推荐指数
1
解决办法
2881
查看次数

tsc错误TS1110 node.d.ts Node.js v6.x

在运行时tsc我得到了很多表单错误

typings/node/node.d.ts(Ln,Col): error TS1110: Type expected.

仅供参考:第一行node.d.ts

// Node.js v6.x的类型定义

这些错误的原因是什么以及如何解决?

重现的步骤:在只有文件的目录中 tsconfig.json

{
    "compilerOptions": {
        "target": "es5",
        "sourceMap": true,
        "module": "commonjs",
        "outDir": "."
    }
}
Run Code Online (Sandbox Code Playgroud)

接下来,执行命令tsd install body-parser --save,输出:

- body-parser                  / body-parser
  -> express                   > express
  -> serve-static              > serve-static
  -> express-serve-static-core > express-serve-static-core
  -> node                      > node
  -> mime                      > mime

> running install..

> written 6 files:

   - body-parser/body-parser.d.ts
   - express-serve-static-core/express-serve-static-core.d.ts
   - express/express.d.ts
   - mime/mime.d.ts
   - node/node.d.ts
   - serve-static/serve-static.d.ts
Run Code Online (Sandbox Code Playgroud)

该目录现在具有子目录 …

node.js typescript tsc

4
推荐指数
1
解决办法
1992
查看次数

TR1正则表达式:捕获组?

我正在使用TR1正则表达式(对于VS2010),我正在尝试做的是为名为"name"的组搜索特定模式,为名为"value"的组搜索另一种模式.我认为我想要的是一个捕获组,但我不确定这是否是正确的术语.我想将匹配分配给模式"[^:\ r \n] +):\ s"到名为"name"的匹配列表,并匹配模式"[^\r \n] +)\ r \n \n)+"到名为"value"的匹配列表.

到目前为止我的正则表达式是

string pattern = "((?<name>[^:\r\n]+):\s(?<value>[^\r\n]+)\r\n)+";
Run Code Online (Sandbox Code Playgroud)

但是程序运行时正则表达式T4R1标头不断抛出异常.我的模式的语法有什么问题?有人可以展示一个能够做我想要完成的事情的示例模式吗?

另外,如何在模式中包含一个匹配的子字符串,但实际上不包含结果中的子字符串?例如,我想匹配模式的所有字符串

"http://[[:alpha:]]\r\n"
Run Code Online (Sandbox Code Playgroud)

,但我不想在返回的匹配结果中包含子字符串"http://".

c++ regex visual-c++-2010

3
推荐指数
1
解决办法
2197
查看次数

为什么Visual Studio 2010(msbuild?)构建速度更快?

通常,当在Visual Studio 2010中构建具有许多项目的大型解决方案时,Windows 7资源监视器将显示devenv.exe为无响应,但是平均CPU读取低于0.91的数字,如下所示:

Visual Studio 2010缓慢构建AMD Phenom II x4

这是在Windows 7 x64上配备AMD Phenom II 920 4核CPU,8 GB RAM.Visual Studio没有响应,但似乎几乎没有使用任何CPU资源.

当我试图运行与msbuild.exe构建和开关" / maxcpucount:4 ",平均CPU值还停留低,RHS图表从来没有表现出5-10%以上的值.

为什么Visual Studio 2010(或msbuild)似乎没有在构建期间利用CPU?

msbuild visual-studio-2010

3
推荐指数
1
解决办法
1930
查看次数

PLSQL:可以在SQLPLUS中使用BOOLEAN数据类型吗?

可能重复:
如何在SELECT语句中使用BOOLEAN类型

我已经尝试在我编写的函数上运行SQLPLUS,它返回BOOLEAN数据类型.有没有办法从SQLPLUS运行这些BOOLEAN函数?似乎从SQLPLUS根本无法访问BOOLEAN数据类型.

编辑:我应该提到我只使用SQLPLUS绑定变量,而不是标准的DECLARE ... PLSQL变量.

oracle plsql sqlplus oracle11g

3
推荐指数
1
解决办法
7580
查看次数

如何在没有*标签的情况下实现asm*的条件跳转?

在Visual C的__asm中,我想跳转到存储在寄存器中的位置,但它似乎不适用于条件跳转,例如JAE.通常情况下这很好(如果你使用标签).

lea ecx, 0x0000001f[edx]
        ;jmp ecx        ;ok
        ;jae EXIT_LOOP  ;ok 
        jae ecx     ;   not ok  "improper operand type"
Run Code Online (Sandbox Code Playgroud)

有没有办法jae用Visual C __asm进行寄存器(或堆栈)变量?也许有一种不同的方法来解决这个问题(有条件地使用数字跳转到某处,而不是标签,在编译时已知)?

assembly visual-c++

3
推荐指数
1
解决办法
806
查看次数

bash ls | sort desc | 拿(n)?

什么是做ls日期降序排序Take(4)文件的简短方法?

linux bash

3
推荐指数
1
解决办法
5359
查看次数

脚本的键盘快捷键为... CREATE TO ...新的查询编辑器窗口

我已经交给了一些遗留的SQL Server 2005数据库,我们在SQL Server 2008 R2上运行它.通过内联SQL和没有外键的实体有很多引用,所以我发现自己反复打开存储过程的T-SQL源,这意味着要通过"脚本存储过程...创建到......新查询编辑器窗口"GUI菜单.有没有办法将其绑定到键盘命令?

sql-server sql-server-2008

3
推荐指数
1
解决办法
4155
查看次数