问题列表 - 第15532页

如何学习C++以进行调试

一些背景:我的工作涉及维护一个大型多线程多进程C++/C#应用程序,因此我经常负责理解访问冲突,内存泄漏,堆中断问题等.

我非常喜欢这个,并且我已经积累了很多关于各种低级概念的理解,但问题是我不用C++编程,除了维护的目的之外,我并不打算这样做.

我的意思是,如果我需要开发一些东西,那么我在公司工作的最佳选择是C#(更多开发人员,其他应用程序也在C#意味着更好的互操作),所以它不是我不编程C++,只是每当我用C++编程时,它纯粹是为了学习C++,所以我想从中获得最大的收益.

我的观点是"自学C++"书籍等并不是很合适,因为他们过于专注于完成任务 - 通常有很多方法可以做事,因此他们倾向于选择一种方法,所以当我在提供了一些代码,这些代码以不同的方式填充我的东西(例如,一本书教授MFC,然后我会得到一些ATL代码,这本书甚至没有教会我ATL和MFC是什么,更不用说如何识别我正在看的是不同的!)

我真的很想自己教C++,重点是了解其他人的代码.

c++

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

MVP和演示者粒度

我们一直在使用MVP模式和Winforms取得了相当大的成功.但是,关于MVP的问题总是突然出现:

什么是一个很好的粒度主持人?

我的意思是:使用Winforms,细粒度通常适用于用户控件.这样,在设计更复杂的GUI时,可以轻松地重用用户控件并将其用作构建块.但是,与演示者具有相同(精细)粒度似乎是一个问题.

一方面,使用粗粒度的演示者会妨碍使用"插件"控件的能力,并且它违反了DRY原则:多个演示者通常需要实现相同的逻辑(例如,填充客户列表),由多个更复杂的控件使用.

另一方面,细粒度的演示者似乎限制了在不同情况下重用控件的能力.例如,编辑视图有时可能需要立即保存客户; 有时它需要将它与其他东西联系起来; 有时只需要验证它; 等等.它通常取决于更复杂的控制.但也有相当多的共享行为.

请注意,在这两种情况下,都可以实现1-presenter-1-view.什么被认为是"1视图"的变化.

使用MVP和Winforms通常被认为是演示者粒度的最佳实践?

  • 细粒度的演示者和通过选项或那种性质的东西可定制的行为?
  • 粗粒度的演示者和低演示者可重用性?
  • 别的什么?

免责声明:我们主要使用监督控制器,但我认为它也适用于被动视图.很抱歉这个问题也很长.

c# mvp winforms

11
推荐指数
1
解决办法
1123
查看次数

高级SWT表小部件

有一些"高级"表/电子表格SWT小部件(Nattable,Nebula Grid),但它们都不支持真正大的数据集.Nattable是最接近的,但它在使用的数据类型中仍有限制,导致表中的行数变得有限.

我需要能够代表至少 2 ^ 32行,最好是2 ^ 64.

swt nattable

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

如何跨Activity重启保留复杂对象?

假设我有一个可序列化的Java Bean对象.我想它存储起来安全当活动经过的onDestroy()的目的(即的onSaveInstanceState()是叫).

我正在寻找一种不涉及创建数据库并将对象写入其中的方法(主要是因为a)Android的DB API非常糟糕b)因为数据库使应用程序更新成为一场噩梦,因为没有适当的支持来应用迁移).

我想到将对象序列化为ByteArrayOutputStream,base64编码并将其作为字符串写入SharedPreferences文件.还是那太远了?

UPDATE

也许那个序列化到字符串的想法毕竟不是那么糟糕,似乎运作得很好.这就是我现在正在做的事情:

    public static String objectToString(Serializable object) {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    try {
        new ObjectOutputStream(out).writeObject(object);
        byte[] data = out.toByteArray();
        out.close();

        out = new ByteArrayOutputStream();
        Base64OutputStream b64 = new Base64OutputStream(out);
        b64.write(data);
        b64.close();
        out.close();

        return new String(out.toByteArray());
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

public static Object stringToObject(String encodedObject) {
    try {
        return new ObjectInputStream(new Base64InputStream(
                new ByteArrayInputStream(encodedObject.getBytes()))).readObject();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
} …
Run Code Online (Sandbox Code Playgroud)

lifecycle serialization android android-activity

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

参数计数不匹配

遇到以下代码段时遇到问题.我得到的参数计数不匹配.

由于多线程和不安全更新的问题,我不得不写这个.


       delegate void data_INPUTDelegate(object sender, System.IO.Ports.SerialDataReceivedEventArgs e);
    private void data_INPUT(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
    {
        string data = serialPort.ReadLine();

        string[] tokens = data.Split(':');
        if (tokens[0] == "$SENSOR")
        {
            if (label_sensorValue.InvokeRequired)
            {
                data_INPUTDelegate del = new data_INPUTDelegate(data_INPUT);
                label_sensorValue.Invoke(del,new object[] {tokens[1]});
            }
            else
            {
                label_sensorValue.Text = tokens[1];
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# parameters count mismatch

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

我正在使用Python urllib2下载文件.如何检查文件大小有多大?

如果它很大......那么停止下载?我不想下载大于12MB的文件.

request = urllib2.Request(ep_url)
request.add_header('User-Agent',random.choice(agents))
thefile = urllib2.urlopen(request).read()
Run Code Online (Sandbox Code Playgroud)

python file download urllib2

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

这是获得IP的更好方法

在PHP中获取IP地址的更好方法是什么:

getenv('REMOTE_ADDR'); 
Run Code Online (Sandbox Code Playgroud)

要么,

$_SERVER['REMOTE_ADDR'];
Run Code Online (Sandbox Code Playgroud)

请告诉我两者之间的区别,如果有的话.

php ip-address fetch

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

使用Linq To SQL进行多次SubmitChanges和事务回滚

我正在使用TransactionScope将Linq中的数据提交给SQL.我的问题是,如果我在同一范围内使用多个SubmitChanges,是否会在出现错误时回滚所有范围,或者只是在最后一次SubmitChanges之后进行更改?例如:

using (TransactionScope trans = new TransactionScope())
{
    using (dbDataContext db = new dbDataContext())
    {
        try
        {
            //do some insert
            db.SubmitChanges();

            //do some updates
            db.SubmitChanges();

            trans.Complete();
        }
        catch(Exception ex){}
    }
}
Run Code Online (Sandbox Code Playgroud)

如果更新SubmitChanges抛出异常,插入SubmitChanges也会回滚吗?

.net transactionscope linq-to-sql

10
推荐指数
1
解决办法
8595
查看次数

使用Grails GORM独立版

我目前想知道如何在Grails框架之外使用Grails独立的Groovy ORM层.这样做有一个文档条目,但ZIP文件只链接到一个空页面.我下载了Grails 1.2-M3但我在文档中找不到任何内容.

有谁知道目前的状态是什么以及如何实现这一目标?

orm grails groovy grails-orm

12
推荐指数
1
解决办法
5799
查看次数

使用php获取wan ip地址

Hai Guys,如何使用php获取我的用户的万能地址....

php

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