问题列表 - 第47083页

c ++中的临时变量和性能

假设我们有两个功能:

int f();
int g();
Run Code Online (Sandbox Code Playgroud)

我想得到f()和g()的总和.

第一种方式:

int fRes = f();
int gRes = g();
int sum = fRes + gRes;
Run Code Online (Sandbox Code Playgroud)

第二种方式:

int sum = f() + g();
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,性能会有什么不同吗?

复杂类型而不是整数的相同问题

编辑

我理解正确吗?在这种情况下我不应该担心性能(在每种情况下包括经常执行的任务)并使用临时变量来提高可读性并简化代码?

c++

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

C# 杀死所有对运行 Windows 不重要的进程

我有一个申请。如果该应用程序在 15 分钟内未使用,则需要关闭所有其他应用程序(强制关闭)并且计时器再次启动。我不想这样做让 Windows 7 崩溃。到目前为止我有以下内容:

Process me = Process.GetCurrentProcess();
foreach (Process p in Process.GetProcesses())
{
    if (p.Id != me.Id 
        && p.ProcessName != "winlogon.exe" 
        && p.ProcessName != "explorer.exe"
        && p.ProcessName != "System Idle Process"
        && p.ProcessName != "taskmgr.exe"
        && p.ProcessName != "spoolsv.exe"
        && p.ProcessName != "csrss.exe"
        && p.ProcessName != "smss.exe"
        && p.ProcessName != "svchost.exe "
        && p.ProcessName != "services.exe"
    )
    {
        p.Kill();
    }
}
Run Code Online (Sandbox Code Playgroud)

遗憾的是 Windows 死机了(蓝屏)。有什么方法可以关闭所有正在使用的进程,然后希望 Windows 能够生存下来。

c# windows-7 dangerous-request

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

用sed去除两个模式之间的线(不包括在内)

我知道这是一个微不足道的问题,但是:如何从两个已知模式/单词之间的文件中删除行:

pattern1
垃圾
模式2

获得:

pattern1
pattern2

有没有人知道用于研究sed的好(简单的书面!)资源?有很多明显的例子吗?

bash sed

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

22
推荐指数
3
解决办法
5416
查看次数

在数据库之外存储主键生成器的安全方法?

我们有一个应用程序将其数据存储在SQL Server中.每个表都有一个bigint主键.我们过去只是按需生成这些,即当你去插入一个新行时,你首先调用生成下一个ID,然后你进行插入.

我们添加了对在脱机模式下运行的支持:如果连接断开(或SQL Server已关闭),它会将数据保存到本地文件,直到您重新联机,然后同步您从那时起所做的所有事情.

这需要能够在客户端生成ID.它不是要求SQL提供下一个ID,而是要求下一百或者千或10,000个ID,然后在本地存储该范围,因此在10,000个用完之前不需要更多.它实际上会将它们放在较小的块中,所以当5000用完时,它仍然有5000的缓冲区,它可以要求5000多个.

问题是,一旦上线,我们就开始收到主要密钥违规的报告.我们将数据存储在Windows注册表中的HKEY_CURRENT_USER中(保证用户可以写入的注册表中唯一的位置).因此,经过一些研究,我们发现HKEY_CURRENT_USER是漫游配置文件的一部分,因此ID可能会被旧版本覆盖.特别是如果用户同时登录网络上的多台计算机.

因此,我们重新编写了生成ID的部分,以便从用户的"Local Settings"目录中读取/写入文件.当然不应该被旧版本覆盖.但即使是现在,我仍然偶尔会看到主键违规.在这种情况下,我们唯一可以做的就是删除文件中的任何键,将用户踢出应用程序,并且在获得新的ID范围之前不要让它们重新进入.

但如果"本地设置"不安全,会是什么?是否有任何地方可以在计算机上存储持久值,保证不会回滚到旧版本?任何人都可以解释为什么"本地设置"不符合此标准?

我已经对GUID这样的解决方案做了一些考虑,但这本身就存在问题.

sql filesystems primary-key

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

关键值观察者仍然注册时的解除分配(反向地理编码器)

当我的观点消失时,我收到以下消息:

An instance 0x1c11e0 of class MKAnnotationView was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger. Here's the current observation info:
Run Code Online (Sandbox Code Playgroud)

(上下文:0x0,属性:0x1e98d0>)

定义和启动反向地理编码的代码是:

geo=[[MKReverseGeocoder alloc] initWithCoordinate:droppedAt];
        geo.delegate=self;
        [geo start];
Run Code Online (Sandbox Code Playgroud)

在我解除视图之前,我已经尝试将geo.delegate设置为nil.那太简单了.我也尝试过:

for (id <MKAnnotation> annotation in mvMap.annotations) {
    [[mvMap viewForAnnotation:annotation] removeObserver:self forKeyPath:@"selected"];
}
Run Code Online (Sandbox Code Playgroud)

这引发了一个错误:

*由于未捕获的异常'NSRangeException'而终止应用程序,原因是:'无法删除"选中"的关键路径的观察者,因为它未注册为观察者.

我对注释代码的看法是:

-(MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {
    MKAnnotationView …
Run Code Online (Sandbox Code Playgroud)

iphone reverse-geocoding mkannotationview

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

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

OpenGL ES中的GPU分析和回调

有没有办法在OpenGL ES中添加类似于DirectX的回调?我正试图分析GPU的性能,所以我想弄清楚执行GPU的某些部分需要多长时间.

理想情况下,我"推"标记/回调,然后调用一堆GL绘制调用,然后推送另一个标记,然后找出一帧之后在这两个标记之间传递了多少毫秒.

(任何其他分析GPU性能的方法也会有所帮助.)

android profiling opengl-es opengl-es-2.0

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

VS中有大纲视图吗?

Eclipse的Outline视图

我来自Eclipse世界,我们有这种大纲视图.

在VS2010中有这样的东西吗?也许一些插件?我有ReSharper.

.net c# resharper visual-studio-2010 visual-studio

8
推荐指数
1
解决办法
1086
查看次数

是否可以执行从MySQL查询结果返回的PHP代码?

我遇到的问题如下:我有一个MySQL表,其中包含我希望在我的网站上显示的页面内容的详细信息.我的一个页面的内容但是我想包含一些要执行的实际PHP代码,而不仅仅是作为字符串打印.例如:

require_once("Class.php");
Class::Function("Some Text For a Parameter");
Run Code Online (Sandbox Code Playgroud)

我希望这个代码在返回sql查询时以某种方式执行,但就目前而言,它只是打印出该文本.有没有办法实现我想要的?

谢谢你的时间,

问候,

斯蒂芬.

php mysql

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