在Visual C++ 2008项目中,构建项目将在输出窗口中显示以下信息:
1>------ Build started: Project: Project1, Configuration: Debug Win32 ------
1>Compiling...
1>main.cpp
1>test1.cpp
1>test2.cpp
1>Generating Code...
1>Linking...
1>LINK : test.exe not found or not built by the last incremental link; performing full link
1>Project1- 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到这样的输出:
cl.exe /Od /I "includepath" /D "_UNICODE" /FD /EHsc /RTC1 /MDd /Zc:wchar_t- /Fo"Debug\\" /Fd"Debug\vc90.pdb" /nologo /c /ZI /TP /errorReport:prompt
Run Code Online (Sandbox Code Playgroud)
就像C#项目一样.
谁能解释一下为什么泛型列表的Contains()函数如此之慢?
我有一个包含大约一百万个数字的列表,以及不断检查这些数字中是否有特定数字的代码.
我尝试使用Dictionary和ContainsKey()函数做同样的事情,它比List快了大约10-20倍.
当然,我并不是真的想为此目的使用Dictionary,因为它并不意味着以这种方式使用.
所以,这里真正的问题是,List.Contains()有什么替代方法,但不像Dictionary.ContainsKey()那样糟糕吗?
提前致谢!
好吧,我已经浏览了整个互联网,但却未能找到这个问题的答案,所以也许有人可以提供一些见解.
我正在开发一个相对简单的Java应用程序,它将取代目前用于系统访问请求的Word文档.它旨在允许表单输入新的员工雇用信息 - 名称,所需的访问权限等.
所以这是我的问题.尝试使用所有文本字段和所有内容制作GUI令人惊讶地痛苦.因为每个小部件有点不同,所以在填写表单后获取输入似乎需要为每个小部件单独引用,以便我可以单独调用它们.这意味着一个部分的每个面板有6-10个不同的私有字段.(我尝试将所有类似的小部件添加到列表中并在循环中调用它们,但这似乎不起作用.)
在某些方面,似乎Web表单更适合这种情况,但我没有可用的基础结构.有没有人找到比这更类似的更好的解决方案呢?它似乎只是一大堆代码.请参阅下面的一个想法(我提出了一些评论而不是实际的代码,因为它太长了).谢谢你的期待!
private JComboBox my_dates;
private JTextField my_date1;
private JTextField my_date2;
private JTextField my_request_date;
private JTextField my_new_legal_name;
private JTextField my_new_pref_name;
private JTextField my_new_username;
private JTextField my_prev_legal_name;
private JTextField my_prev_pref_name;
private JTextField my_prev_username;
private JTextField my_emp_id;
private JTextField my_manager;
private JTextField my_auth_requestor;
private JTextField my_auth_phone;
public NameChangePanel(FormSection the_section)
{
super();
initialize();
buildPanel(the_section.getFields());
}
private void initialize()
{
// Create all the widgets individuall
}
private void buildPanel(List the_fields)
{
// add a field label
// add a …Run Code Online (Sandbox Code Playgroud) 我写在MIPS某些代码,我已经来到这里的要求是存储结果,暂时在点HI和LO特殊寄存器(均为4个字节宽).这些说明由我掌握:
divu s,t lo <-- s div t ; hi <-- s mod t
multu s,t hi / lo < -- s * t ;
Run Code Online (Sandbox Code Playgroud)
因此,divu存储除法LO和余数的结果HI,同时multu存储乘法LO(低4字节)和HI(高4字节)的结果.
稍后,为了检索结果HI和LO寄存器,我可以:
mfhi $v0
mflo $v1
Run Code Online (Sandbox Code Playgroud)
我已经想出了如何将计算结果存储在LO:
ori $v0,$0,1 # Store result from $a0 into LO
divu $a0,$v0
Run Code Online (Sandbox Code Playgroud)
divu在LO分工的结果保存,所以我只是除以1的结果得到它.但是,存储HI更复杂.一种方法是强制multu指令将值移位32位(4字节):
multu $a0,0x80000000 # Shift $a0 by 32 …Run Code Online (Sandbox Code Playgroud) 我试图从类UserHelper中的方法importUsers抛出(自定义)ImportException.我可以在调试器中看到执行了throw子句,但调用importUsers方法的方法从不捕获异常.
这是抛出异常的方法:
public static AccessorValidator importUsers(List<String> data, WebUser actor) throws ImportException {
//(irrelevant code removed)
try {
isSuccess = insertUserData(st, blocks, db, actor);
} catch (Exception e) {
throw new ImportException("Could not insert user on line " + rowCounter);
}
Run Code Online (Sandbox Code Playgroud)
}
在这里,我尝试从AccessorValidator类中的execute方法捕获抛出的异常失败:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
//(irrelevant code removed)
try{
av = UserHelper.importUsers(data, admin);
System.out.print("test2");
} catch (ImportException ie) {
System.out.print("testE");
returnMessageValue = ie.getMessage();
} catch (Exception e) {
System.out.print("testE2");
} …Run Code Online (Sandbox Code Playgroud) 该文件看起来像:
a1,b1
a2,b2
...
Run Code Online (Sandbox Code Playgroud)
我知道价值"a2".如何将值"b2"转换为属性值.
我知道如何通过以下方式选择包含"a2"的行:
<linecontains>
<contains value="a2"/>
</linecontains>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何将属性值设置为"b2".我随时为您提供更多其他信息.
在我的XAML中,我通过绑定到GetAll属性来获取所有客户:
<ListBox ItemsSource="{Binding GetAll}"
ItemTemplate="{StaticResource allCustomersDataTemplate}"
Style="{StaticResource allCustomersListBox}">
</ListBox>
Run Code Online (Sandbox Code Playgroud)
GetAll属性在我的视图模型中是一个可观察的集合,该视图模型调用该模型来获取所有客户集合:
public class CustomersViewModel
{
public ObservableCollection<Customer> GetAll {
get
{
try
{
return Customer.GetAll;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果模型中出现任何问题(格式不正确的XML文件等),则异常会一直冒泡至ViewModel中的该GetAll属性。
第一个问题:XAML似乎对异常没有任何作用,只是继续前进,什么也不显示,我感到很惊讶。这是设计使然吗?这是“脱钩方法”的一部分吗?
第二个问题:这使我认为我可以以某种方式处理XAML中的异常,例如
伪代码:
<Trigger>
<Trigger.OnException>
<TextBox Text="The customer data could not be loaded."/>
</Trigger.OnException>
</Trigger>
Run Code Online (Sandbox Code Playgroud)
上面的代码有可能吗?
C++ 11增加了告诉编译器创建任何特殊成员函数的默认实现的能力.虽然我可以看到删除函数的价值,但显式默认函数的值是什么?只需将其留空,编译器无论如何都会这样做.
我能看到的唯一一点是,只有当没有其他构造函数存在时才会创建默认构造函数:
class eg {
public:
eg(int i);
eg() = default;
};
Run Code Online (Sandbox Code Playgroud)
但这真的比你现在这样做好吗?
class eg {
public:
eg(int i);
eg() {}
};
Run Code Online (Sandbox Code Playgroud)
或者我错过了一个用例?
臭名昭着的A potentially dangerous Request.Form value was detected from the client问题:)
这是我的用例:我在网页上有一个FCKEditor控件,允许用户输入HTML.这个精确的网页已关闭验证以允许其使用,但我的母版页有链接按钮,可以提高其他页面上的回发.
我显然不希望在我的网站的每个页面上不必要地关闭验证,但我希望能够"静默"清理输入(通过从请求表单中删除错误字段,或通过验证它) .
我看到可以在页面上覆盖OnInit或ProcessRequest,但如果可能的话,我想在母版页上执行此操作.(我甚至不确定我能从中恢复过来HttpRequestValidationException)
我怎么能这样做?
编辑:我一直在玩Page_Error,它成功地捕获了错误,但是在我检查了请求之后我找不到如何恢复处理实际上是合法的.
是否可以在方法中声明可选参数?
例如,在delphi中,我可以执行以下操作:
procedure Test(p1:integer;p2:integer;p3:integer = 2;p4:integer = 4)
Run Code Online (Sandbox Code Playgroud)
当我调用该函数时,我可以用四个参数或两个参数调用它:
Test(2,3); //p3 = 2,p4 = 4.
Test(2,3,4,5); //p3 = 4,p4 = 5;
Run Code Online (Sandbox Code Playgroud)
这怎么可能在C#中?