小编Kat*_*ory的帖子

限制PHP中的用户登录尝试

我见过网页应用程序有限制用户登录尝试.

这是安全必需品,如果是,为什么?

例如: 您有三次失败的登录尝试,让我们在10分钟内再试一次!!

php security captcha login brute-force

6
推荐指数
2
解决办法
1万
查看次数

优化远离函数调用

是否可以想象C++编译器会优化对只设置类变量的类成员函数的函数调用?例:

class A
{
    private:
        int foo;
    public:
        void bar(int foo_in)
        {
             foo = foo_in;
        }
}
Run Code Online (Sandbox Code Playgroud)

所以,如果我这样做

A test;
A.bar(5);
Run Code Online (Sandbox Code Playgroud)

编译器可以优化它来直接访问成员并设置它吗?

c++ optimization

6
推荐指数
1
解决办法
1738
查看次数

MSVC win32:将扩展精度浮点数(80位)转换为双精度(64位)

从扩展精度浮点数(80位值,在某些编译器中也称为“ long double”)转换为MSVC win32 / win64中double(64位)的最便捷和“正确”的方法是什么?

MSVC当前(截至2010年)假定“ long double”是“ double”的同义词。

我可能可以在内联汇编中编写fld / fstp汇编程序对,但是内联汇编不适用于MSVC中的win64代码。我是否需要将此汇编代码移至单独的.asm文件?真的是这样,没有好的解决方案吗?

floating-point fpu visual-c++

5
推荐指数
1
解决办法
3834
查看次数

如何在VC++中使用set_intersection和std :: set?

我正在尝试用VC10编译VC6项目...我用set_intersection获取了一个错误C2678:我写了一些例子来理解.任何人都可以解释如何编译这个片段?

#include <vector>
#include <algorithm>
#include <iostream>
#include <set>
#include <string>

int main( )
{
    using namespace std;

    typedef set<string> MyType;

    MyType in1, in2, out;
    MyType::iterator out_iter(out.begin()); 

    set_intersection(in1.begin(),in1.end(), in2.begin(), in2.end(), out_iter);
}
Run Code Online (Sandbox Code Playgroud)

输出 :

c:\ program files\microsoft visual\studio 10.0\vc\include\algorithm(4494):错误C2678:'='binary:没有运算符定义,它采用类型为'const std :: basic_string <_Elem的左手操作数, _Traits,_Ax>'(或没有可接受的转换)

如果我用一个std::vector而不是std::set编译成功.可)

stl visual-c++ visual-c++-2010

5
推荐指数
1
解决办法
3103
查看次数

防止UAC虚拟化?

我有一个我已经销售超过12年的VB6应用程序.有时我的用户很难让应用程序运行.数据写入进入/我的文档,所以只有安装文件(EXE等)进入C:\ Program Files(或C:\ Program Files(x86)).

解决问题的方法是启动应用程序,即使它显示为挂起,然后显示任务管理器,查看进程,右键单击我的应用程序进程并取消选中UAC虚拟化.然后我让他们修复安装,一切都很好.

为什么我的流程被置于UAC虚拟化之下,如何防止这种情况发生?我还使用InstallShield 2010 Professional来创建安装,我不确定它是否与安装程序或应用程序本身有关.

uac

5
推荐指数
1
解决办法
3579
查看次数

VC++/DEFAULTLIB问题

在发布版本中链接我的dll时,我得到 -

1> LINK:警告LNK4098:defaultlib'mfc80d.lib'与使用其他库冲突; 使用/ NODEFAULTLIB:库

1> LINK:警告LNK4098:defaultlib'mfcs80d.lib'与使用其他库冲突; 使用/ NODEFAULTLIB:库

1> LINK:警告LNK4098:defaultlib'msvcrtd.lib'与使用其他库冲突; 使用/ NODEFAULTLIB:库

添加/ VERBOSE,我看到以下(片段):...

1>搜索D:\ Microsoft Visual Studio 8\VC\atlmfc\lib\mfc80d.lib:

1>找到"public:virtual __thiscall AFX_MODULE_STATE :: ~AFX_MODULE_STATE(void)"(?? 1AFX_MODULE_STATE @@ UAE @ XZ)1>
在mfcs80.lib(dllmodul.obj)中引用1>已加载mfc80d.lib(MFC80D.DLL)

1>找到"long stdcall AfxWndProc(struct HWND __,unsigned int,unsigned int,long)"(?AfxWndProc @@ YGJPAUHWND __ @@ IIJ @ Z)

1>在mfcs80.lib(dllmodul.obj)中引用1>已加载mfc80d.lib(MFC80D.DLL)

...

如果我正确地解释这个,这意味着链接器以某种方式解析来自(优化的)库mfcs80的调用,作为对(非优化的)库mfc80D的调用.怎么会这样??

当我添加/NODEFAULTLIB:mfc80d.lib时,警告消失了,但我还没有安静下来.顺便说一下,该模块确实遭受了增量链接上偶然发生的莫名其妙的崩溃,这只能通过重新构建来解决.我正在使用VS2005.

[编辑:]将标题更改为包含DEFAULTLIB,希望更好地聚焦主题.我确实看到一条明确的说法

已处理/DEFAULTLIB:mfc80d.lib

在/ VERBOSE输出中,以及许多其他(非调试)默认库.它从何而来?我怎样才能解决这个问题?

谢谢!

linker visual-studio-2005 visual-c++

5
推荐指数
1
解决办法
3048
查看次数

在Windows 7上获取有用的错误消息

在Windows XP开发期间,如果我的应用程序遇到未处理的异常,它将显示错误消息"X遇到并出现错误..."并为我提供启动调试器的选项.在Windows 7下,我得到的是一条消息"X已停止工作,Windows正在检查解决方案".

我再也看不到错误消息的任何细节了,我没有给出调试选项.

我正在使用VS2005,并且据我所知,JIT调试已启用.

反正有没有回到WinXP的有用错误消息?

编辑:它只是一个标准的WinForms桌面应用程序,无需运行任何特殊权限.

c# visual-studio-2005 windows-7 windows-error-reporting

5
推荐指数
1
解决办法
525
查看次数

Visual Studio Extensibility Package没有查看正确的项目

我创建了一个新的VS 2010可扩展性包.到目前为止,我想要做的就是让用户按下按钮并使用解决方案的全部内容填充列表视图.我有以下代码:

EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.
    GetActiveObject("VisualStudio.DTE.10.0");

foreach (Project project in dte.Solution.Projects)
{
    foreach(ProjectItem pi in project.ProjectItems)
    {
         listView1.Items.Add(pi.Name.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎工作,但是,它填充与包装解决方案的内容的列表中它并没有这个运行时启动实验实例.我是否错误地实例化了引用?

c# visual-studio vs-extensibility

5
推荐指数
1
解决办法
190
查看次数

在winrt中访问文件时出现一些异常

我在winrt中访问文件时遇到一些问题

问题1:

var file = await StorageFile.GetFileFromPathAsync(filePath);
Run Code Online (Sandbox Code Playgroud)

有时,GetFileFromPathAsync将抛出"rpc服务器不可用"异常.

问题2:

MusicProperties musicProp = await file.Properties.GetMusicPropertiesAsync();
Run Code Online (Sandbox Code Playgroud)

有时它会引发异常:

Unable to cast COM object of type 'Windows.Storage.FileProperties.MusicProperties' to interface type 'Windows.Storage.FileProperties.IMusicProperties'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{BC8AAB62-66EC-419A-BC5D-CA65A4CB46DA}' failed due to the following error: The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD)).
Run Code Online (Sandbox Code Playgroud)

问题3:

QueryOptions query = new QueryOptions(CommonFileQuery.OrderByMusicInfo, extensionList);
StorageFileQueryResult queryResult = folder.CreateFileQueryWithOptions(query);
IReadOnlyList<IStorageFile> files …
Run Code Online (Sandbox Code Playgroud)

microsoft-metro windows-8 windows-runtime

5
推荐指数
1
解决办法
1480
查看次数

它可以写入列表的第一个记录或最后一个记录,以及任何正确的建议

我在将数据写入Excel工作表时遇到问题.我程序的另一部分将生成一个对象的ArrayList并将其发送到此循环.此循环读取另一个对象并写入Excel工作表.

我知道我错过了什么.它只写入List中的最后一个对象.

如果我尝试将此代码放在while循环中:

FileOutputStream out = new FileOutputStream(writeExcel);
        writeExtraBook.write(out);
        out.close();
Run Code Online (Sandbox Code Playgroud)

然后它只将第一条记录写入文件.

任何人都可以在我做错的地方帮助我

这是写入数据的代码:

String writeExcel = CONSTANTS.FOW_FILE_PATH;

    FileInputStream writeInput;
    try {
        writeInput = new FileInputStream(writeExcel);

        /** Create a POIFSFileSystem object **/
        POIFSFileSystem mywriteSystem = new POIFSFileSystem(writeInput);
        HSSFWorkbook writeExtraBook = new HSSFWorkbook(mywriteSystem);
        HSSFSheet myExtrasSheet = writeExtraBook.getSheet("FOW");
        HSSFRow extraRow = null;
        HSSFCell extraRowCell = null;
        int lastRowNumber = myExtrasSheet.getLastRowNum();

        Iterator<FoWForm> iter = fowList.iterator();
        while (iter.hasNext()) {
            extraRow = myExtrasSheet.createRow(lastRowNumber + 1);
            FoWForm form = iter.next();
            extraRowCell = extraRow.createCell(0);
            extraRowCell.setCellValue(lastRowNumber + 1);
            extraRowCell …
Run Code Online (Sandbox Code Playgroud)

java arraylist

5
推荐指数
1
解决办法
894
查看次数