问题列表 - 第13690页

处理"内存不足"的正确方法是什么?

最近,我在Windows上制作了一个CCTV节目的视频播放器程序.由于程序必须同时解码和播放许多视频流,我认为它可能会遇到malloc失败的情况,我在每个malloc之后添加检查.

但从口头上讲,在我在开源项目中阅读的这些开源程序代码中,我很少发现对malloc结果的任何检查.所以当malloc失败时,大多数程序都会崩溃.那不是不接受吗?

我在linux上编写服务器程序的同事会为100个客户端连接分配足够的内存.因此,虽然他的程序可能会拒绝101客户端,但它永远不会遇到malloc的失败.他的方法是否也适用于桌面应用程序?

c malloc

7
推荐指数
2
解决办法
4568
查看次数

WPF的扩展程序提供程序

是否有相当于System.ComponentModel.IExtenderProvider的 WPF?

我是否必须转向依赖属性和附加属性来构建一个等价物,或者是否已经在烤箱中烘烤了等待我的东西?

谢谢,

帕特里克

.net c# wpf

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

Queryable.OfType如何工作?

重要问题不是"Queryable.OfType 做什么,它是什么"我看到的代码如何实现呢?"

反思Queryable.OfType,我看到(经过一些清理):

    public static IQueryable<TResult> OfType<TResult>(this IQueryable source)
    {
        return (IQueryable<TResult>)source.Provider.CreateQuery(
            Expression.Call(
                null, 
                ((MethodInfo)MethodBase.GetCurrentMethod()).MakeGenericMethod(
                    new Type[] { typeof(TResult) }) ,
                    new Expression[] { source.Expression }));
    }
Run Code Online (Sandbox Code Playgroud)

那么让我看看我是否已经这样做了:

  1. 使用反射来获取对当前方法(OfType)的引用.
  2. 通过使用MakeGenericMethod将当前方法的类型参数更改为完全相同的东西,创建一个完全相同的新方法.
  3. 该新方法的参数不是source而是source.Expression.这不是一个IQueryable,但我们将整个事情传递给Expression.Call,所以没关系.
  4. 呼叫Expression.Call,路过null方法(奇怪?) 实例和克隆的方法,它的参数.
  5. 将结果传递给CreateQuery并转换结果,这似乎是整个事情的最佳部分.

现在,此方法的效果是返回一个表达式,该表达式告诉提供程序省略返回类型不等于TResult或其子类型之一的任何值.但我看不出上面的步骤是如何实现这一目标的.它似乎创建了一个表达式,该表达式表示返回IQueryable <TResult>的方法,并使该方法的主体只是整个源表达式,而不需要查看类型.是否只是希望IQueryable提供者只是默默地不返回任何不属于所选类型的记录?

所以上面的步骤在某种程度上是不正确的,或者我只是没有看到它们如何导致在运行时观察到的行为?

linq expression-trees oftype

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

Java:SortedMap,TreeMap,Comparable?如何使用?

我有一个对象列表,我需要根据其中一个字段的属性进行排序.我听说SortedMap和Comparators是最好的方法.

  1. 我是否对我正在排序的类实现Comparable,还是创建一个新类?
  2. 如何实例化SortedMap并传入Comparator?
  3. 排序如何工作?在插入新对象时它会自动对所有内容进行排序吗?

编辑: 这段代码给我一个错误:

private TreeMap<Ktr> collection = new TreeMap<Ktr>();
Run Code Online (Sandbox Code Playgroud)

(Ktr实施Comparator<Ktr>).Eclipse说它期待类似的东西TreeMap<K, V>,所以我提供的参数数量不正确.

java interface treemap comparator sortedmap

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

输出中的PHP"退格"字符可能吗?

我有一种感觉,答案是"这是不可能的",但我想要满足我的好奇心.

我有一些代码回应了\n是不可避免的:

echo "Hello \n";
echo "World!";
Run Code Online (Sandbox Code Playgroud)

我想简单地阅读该行(在代码输出中):

你好,世界!

...因此删除\n.

所以我想知道在PHP输出期间是否可以执行"退格"字符?

简单的东西 str_replace( "\n", 'backspace-character', $str );

php

13
推荐指数
2
解决办法
3万
查看次数

MySQLdump导致许多评论行,没有真正的内容

我正在尝试编写一个PHP程序,以自动创建MySQL表的备份作为服务器上的sql文件:


$backup = "$path/$tablename.sql";
$table = "mydbname.mytablename";

exec(
  sprintf(
    '/usr/bin/mysqldump --host=%s --user=%s --password=%s %s --quick --lock-tables --add-drop-table > %s',
    $host,
    $user,
    $password,
    $table,
    $backup
  )
);

我得到的.sql文件中的所有内容都是这样的:

-- MySQL dump 10.10
--
-- Host: localhost    Database: mydbname.mytablename
-- ------------------------------------------------------
-- Server version   5.0.27

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, …

php mysql backup file mysqldump

0
推荐指数
1
解决办法
1210
查看次数

我可以将BaseUri分配给XDocument吗?

当我将XML文档从磁盘加载到XDocument时,该XDocument具有一个仅包含原始XML文档在磁盘上的位置的就绪属性BaseUri.换一种说法,

XDocument doc = XDocument.Load(@"c:\temp\doc.xml");
Console.Out.WriteLine(doc.BaseUri);
// Outputs "file:///c:/temp/doc.xml"
Run Code Online (Sandbox Code Playgroud)

如果我从头开始创建一个新的XDocument,它没有BaseUri.例如:

XDocument doc = new XDocument(new XElement("test"));
Console.Out.WriteLine(doc.BaseUri);
// Outputs nothing
Run Code Online (Sandbox Code Playgroud)

我可以将这个新的XDocument分配给BaseUri吗?我希望能够生成新文档,为它们分配名称,并轻松地将这些名称与它们一起传递.

c# xml linq-to-xml

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

如何使用CBC实现Java 256位AES加密

我已经阅读了以下主题并且他们帮助了一点,但我正在寻找更多信息.

如何使用BlackBerry的初始化矢量参数编写AES/CBC/PKCS5Padding加密和解密

Java 256bit AES加密

基本上,我正在做的是编写一个程序,它将加密通过TCP/IP发送的请求,然后由服务器程序解密.加密需要是AES,并且做了一些研究我发现我需要使用CBC和PKCS5Padding.所以基本上我需要一个秘密密钥和一个IV.

我正在开发的应用程序是用于手机,所以我想使用java安全包来减小尺寸.我已完成设计,但不确定IV和共享密钥的实现.

这是一些代码:

// My user name
byte[] loginId = "login".getBytes();

byte[] preSharedKey128 = "ACME-1234AC".getBytes();
byte[] preSharedKey192 = "ACME-1234ACME-1234A".getBytes();
// 256 bit key
byte[] preSharedKey256 = "ACME-1234ACME-1234ACME-1234".getBytes();
byte[] preSharedKey = preSharedKey256;

// Initialization Vector
// Required for CBC
byte[] iv ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
IvParameterSpec ips = new IvParameterSpec(iv);


byte[] encodedKey = new byte[loginId.length + preSharedKey.length];

System.arraycopy(loginId, 0, encodedKey, 0, loginId.length);
System.arraycopy(preSharedKey, 0, encodedKey, loginId.length, preSharedKey.length);

// The SecretKeySpec provides a mechanism for application-specific generation
// of cryptography …
Run Code Online (Sandbox Code Playgroud)

java encryption aes

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

php和mysql.日期<= X小时前?

我想知道在PHP中编写where语句的最佳方法是什么,其中targetDate <Date.Now - PHP中的HardCodedHours

php mysql date where

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

如何在Git中将最后一次提交拆分为两次

我有两个工作分公司,大师论坛,我刚刚作出了一些修改论坛的分支,我想摘樱桃进入.但不幸的是,我想要挑选的提交还包含一些我不想要的修改.

解决方案可能是以某种方式删除错误的提交并将其替换为两个单独的提交,一个包含我想在master中选择的更改,另一个不属于那里.

我试过了

git reset --hard HEAD^
Run Code Online (Sandbox Code Playgroud)

删除了所有更改,所以我不得不回去

git reset ORIG_HEAD
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,最后一次提交分成两个单独的提交的最佳方法什么?

git version-control

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