取消设置在类中使用的变量是一个好习惯吗?或者它是可选的?
如果它是一个好习惯,使用该unset功能有什么好处?
当在一个单独的线程上运行的方法中更改对象时,该对象不会在调用线程(启动该方法运行的线程的线程)上更改.但是,如果定义该对象的类是通用的,则该对象在调用线程上被更改.例如:
我有两节课:
public class Holder<T> { public T Value {get;set;} }
Run Code Online (Sandbox Code Playgroud)
和
public class Holder2 { public String Value {get;set;} }
Run Code Online (Sandbox Code Playgroud)
我有一个名为client的第三个对象,它在方法Change()上将Value设置为在单独的线程上不同的值:
static void main(string[] args)
{
Holder<String> test = new Holder<String>();
test.Set("original");
Client client = new client(test);
client.Change(test);
Console.WriteLine(test.Value);
// test.Value now returns "changed"
// But if test was of type Holder2, it would return "original"
}
Run Code Online (Sandbox Code Playgroud)
基本上客户端做的是:
public class Client
{
Holder<String> test;
public Client(Holder<String> test)
{
this.test = test;
}
public void Change()
{
ThreadStart ts = …Run Code Online (Sandbox Code Playgroud) 我有一个RCP应用程序,包括:
产品定义文件位于主插件中(这是一个坏主意吗?).
产品定义基于"插件",并且依赖于工作空间中的所有插件.
现在,我希望RCP应用程序的用户能够更新应用程序.这包括新的/更改的HTML帮助文件,新的插件,现有插件中更改的代码等.
我需要做什么?
设置工作空间/项目层次结构的最佳方法是什么?
当我使用SyntaxFromSQL动态创建数据存储区时(为了生成基于SQL SELECT语句的数据存储区源代码),使用这样的语法
string ERRORS, sql_syntax, dwsyntax_str, presentation_str
dwsyntax_str = trans_object.SyntaxFromSQL ( sql_syntax, presentation_str, ERRORS)
ds_1.Create( dwsyntax_str, ERRORS)
Run Code Online (Sandbox Code Playgroud)
如何检查生成的数据存储列的名称ds_1?我提醒你,在连接两个或多个表的select语句的情况下,结果列名可以在相关的表名之后,例如,不是获取列名,field_id我可能得到如下的列名:my_table_field_id.这会在以后提供列名称(field_id)作为GetItem函数的参数时引起问题,而相关数据存储区则命名该列my_table_field_id.
更糟糕的是,我发现我获得不同列定义(以表名称开头)的原因之一是用户的登录被分配了sa role!?!?!
我正在观看视频编码html,我在视频中看到他们使用了一些看起来像这样的代码:
<body>
{% block %}
{% endblock %}
</body>
这是某种形式的评论在HTML?我认为他们使用的编码器是Espresso for Mac.我从来没有见过它.视频在这里:http: //vimeo.com/7405114,大约5分钟,到最后.
我想从自定义ASP.NET用户控件中公开一个复杂属性,以便可以从aspx页面中的控件标记设置它.
像这样的东西:
public class TestData {
public int X;
public int Y;
}
public partial class TestControl : System.Web.UI.UserControl {
public TestData TestProperty {
get {
return ViewState["TestProperty"] as TestData;
}
set {
ViewState["TestProperty"] = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在包含控件的页面的.aspx文件中,我希望有类似的内容:
<div>
<testns:TestControl runat="server" ID="TestControl1" TestProperty="X:1,Y:2"/>
</div>
Run Code Online (Sandbox Code Playgroud) 如何获取收到的UDP数据包的长度?使用wireshark我可以看到正确的数据报长度.如何在我的简单udp服务器程序中打印此值?我正在接收二进制数据(不可打印的ascii字符作为数据)所以我不能使用strlen(buf),它会抛出不正确的长度.
if (ret=recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, &slen)==-1){
error = ioctl(s, FIONREAD, &value);
printf(" from ioctl UDP packet length is : %d error is : %d\n", value, error);
}
Run Code Online (Sandbox Code Playgroud)
udp数据包长度始终为上述代码中的"0".任何意见?
我也尝试过如下
if (ret=recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, &slen)!=-1){
unsigned short iphdrlen;
struct iphdr* iph = (struct iphdr*)buf;
iphdrlen =iph->ihl*4;
printf("IP version :%d\n", ((unsigned int)((iph->version))));
printf("protocol .. %d\n", ((unsigned int)(iph->protocol)));
printf("total len .. %d\n", (ntohs(iph->tot_len)));
}
Run Code Online (Sandbox Code Playgroud)
上面的代码总是从ip header返回错误的值?任何意见?
原始C文件包含在此处.
#include "udp_common.h"
int main(void)
{
struct sockaddr_in si_me, …Run Code Online (Sandbox Code Playgroud) 我已经下载了一个开源C++项目的源代码.这是一个Linux项目.由于Visual Studio是我最喜欢的IDE,我想用它来浏览和研究代码.我创建了一个空的C++项目,现在想要将源代码添加到Solution explorer.
如何将目录结构添加到"解决方案资源管理器".在解决方案资源管理器中删除项目上的源代码的根文件夹不起作用.它只是将文件添加到项目中,但目录结构丢失了.
有没有办法保留目录结构?我不想手动重新创建目录结构.
C++ 中是否有一个函数可以像getdelimC 中的函数一样工作?我想使用对象处理文件std::ifstream,所以我不能getdelim在这里使用。
我在每次提交时在buildbot中编译2个C++项目.两者都是大约1000个文件,一个是100 kloc,另一个是170 kloc.编译时间与gcc(4.4)到Visual C++(2008)有很大不同.
一个项目的Visual C++编译需要20分钟.他们无法利用多核,因为项目依赖于另一个.最后,在Debug和Release中对32和64位的两个项目进行完整的编译需要超过2 1/2小时.
一个项目的gcc汇编需要4分钟.它可以在4个核心上并行化,大约需要1分10秒.2个项目的4个版本(Debug/Release,32/64位)的所有8个版本都在不到10分钟的时间内编译完成.
Visual C++编译时发生了什么?它们基本上慢了5倍.
编译C++ kloc的平均时间是多少?我的是带有vc ++的7 s/kloc和带有gcc的1.4 s/kloc.
可以做任何事情来加快Visual C++上的编译时间吗?
c++ ×3
c ×2
c# ×2
visual-c++ ×2
.net ×1
asp.net ×1
comparison ×1
datagram ×1
datastore ×1
django ×1
dynamic-sql ×1
eclipse-rcp ×1
file-io ×1
gcc ×1
generics ×1
html ×1
java ×1
networking ×1
oop ×1
p2 ×1
php ×1
powerbuilder ×1
sybase ×1
udp ×1