小编Wan*_*uta的帖子

C&C++编译器是否优化了与函数调用的比较?

C和C++编译器通常会优化与函数的比较吗?

例如,这个页面表明sizeC++中std :: lists上的函数在某些标准库实现中可能具有线性复杂度O(N)(这对于链表是有意义的).

但在这种情况下,如果myList是一个巨大的列表,这样的事情会怎么样?

    if (myList.size() < 5) return 1;
    else return 2;
Run Code Online (Sandbox Code Playgroud)

size()函数会查找并计算所有N个列表成员,还是会在找到5个成员后优化为短路?

c c++ optimization complexity-theory

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

如何正确使用libsodium以使其在版本之间兼容?

我打算在文件中存储一堆记录,然后用libsodium签署每条记录.但是,我希望我的程序的未来版本能够检查当前版本的签名,理想情况下反之亦然.

对于当前版本的Sodium,使用Ed25519算法进行签名.我想,默认原语可以在Sodium的新版本中改变(否则libsodium不会暴露出选择特定版本的方法,我认为).

我是不是该...

  1. 始终使用默认原语(即crypto_sign)
  2. 使用特定原语(即crypto_sign_ed25519)
  3. Do(1),但存储sodium_library_version_major()文件中的值(在专用的'钠版本'字段或一般'文件格式修订'字段中)并退出当前运行的版本较低
  4. 做(3),还要存放 crypto_sign_primitive()
  5. 做(4),还有商店crypto_sign_bytes()和朋友

......还是我应该完全做其他事情?

我的程序将用C语言编写.

c compatibility cryptography libsodium

15
推荐指数
1
解决办法
853
查看次数

使用Python而不是Objective-C的缺点是什么?

我知道一些Python,我对这种语言的易用性印象深刻.从我所看到的Objective-C来看,它看起来不那么漂亮,但它似乎是Mac OS X开发的通用语言(这意味着它有更好的文档).

我正在考虑启动Mac开发 - 使用PyObjC + Python会让我成为二等公民吗?

python macos cocoa pyobjc

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

与守护进程进行进程间通信

我想实现一个Unix守护进程(让我们称之为myUnixd),并希望用户能够通过命令行与该守护进程交互,例如:

myUnixd --help # will display help information
myUnixd --show # will show some data (the's deamon should be doing the work)
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:我如何与守护进程通信?我在想Unix域套接字.有人能告诉我正确的方法吗?

谢谢.

c unix command-line daemon inter-process-communicat

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

如果Haskell总是评估为True,为什么它有isIEEE?

Haskell RealFloat类型类有一个函数isIEEE,根据文档,它给出'如果参数是一个IEEE浮点数,则为True'(并且,可以想象,否则为False).

但是这里是isIEEEfor 的实现Float:

instance RealFloat Float where
  ...
  isIEEE _ = True
Run Code Online (Sandbox Code Playgroud)

以下是实施Double:

instance RealFloat Double where
  ...
  isIEEE _ = True
Run Code Online (Sandbox Code Playgroud)

如果isIEEE总是无条件的True,为什么要使用它?为什么要在Prelude中呢?

haskell

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

如何检查RelaxNG的属性是否唯一?

使用RelaxNG,我可以检查属性的值是否在封闭元素中是唯一的?

例如,这castle应验证:

<castle>
  <room>
    <door to="North" />
    <door to="South" />
  </room>
  <room>
    <door to="North" />
  </room>
</castle>
Run Code Online (Sandbox Code Playgroud)

但这不应该(重复相同的门room):

<castle>
  <room>
    <door to="Dungeon" />
    <door to="Dungeon" />
  </room>
</castle>
Run Code Online (Sandbox Code Playgroud)

我正在使用RelaxNG(紧凑型).我不知道属性值'提前',只是它们在a中应该是唯一的room.

谢谢!

xml validation xsd relaxng

7
推荐指数
1
解决办法
376
查看次数

如何在 MySQL 中创建具有矢量类型的字段?

我在 MySQL 中创建了一个表。我想存储一个名字、一个姓氏和一个双精度向量,但问题是:如何在 MySQL 中创建一个向量列?我的向量包含 130 个元素。

mysql

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

流通问题的"下界"是什么意思?

问题:循环问题允许您在通过特定弧的流动中具有下限和上限.我理解的上界(就像管道一样,只有很多东西可以通过).但是,我很难理解下限的想法.这是什么意思?将解决问题的算法...

  • 尝试确保每个具有下限的弧将至少获得那么多的流量,如果找不到方法则完全失败?
  • 如果不能满足下限,只需忽略弧线?这对我来说更有意义,但是意味着在结果图中可能存在流量为0的弧,即低于≤f≤高于vf = 0

上下文:我正在尝试找到一种方法来快速安排一组事件,每个事件都有一个长度和一组可能的时间来安排它们.我正在尝试将此问题简化为循环问题,因为存在有效的算法.

我将每个事件都放在有向图中作为一个节点,并为它提供应该填充的时隙量.然后我将所有可能的时间添加为节点,最后添加所有时间段,如下所示(所有弧点指向右侧):

 

我的图表

 

前两个事件具有单个可能的时间和长度1,并且最后一个事件具有4的长度和两个可能的时间.

这个图表有意义吗?更具体地说,"填充"的时隙数量是2(只有'简单')还是6,如图所示?

(如果有任何不同,我正在使用LEMON库中的push-relabel算法.)

c++ graph-theory directed-graph data-structures

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

Propel的fromArray/fromJSON功能是否可以安全地从SQL注入?

Propel ORM文档使用fromArray和fromJSON等函数提到了一个简洁的导入/导出功能,它应该允许这样的东西:

$foo = new Widget();
$foo->fromArray($_POST);
$foo->save(); /* Aaand you're done! */
Run Code Online (Sandbox Code Playgroud)

...但是文档没有提到如果使用fromArray这种方式应该是安全的,即如果fromArray可以处理不受信任的输入.我的猜测是没关系 - 默认的设置器是防注射的,整个交易是基于PDO的 - 但我想确定.

php sql orm propel sql-injection

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

为什么我不能在Haskell中执行`null(Just 5)`?

Maybe列表的Hackage文档可折叠为Maybe的类型类之一.它还列出了以下功能:

null :: Maybe a -> Bool
Run Code Online (Sandbox Code Playgroud)

它甚至链接到这个函数的实现(来自Foldable):

null :: t a -> Bool
null = foldr (\_ _ -> False) True
Run Code Online (Sandbox Code Playgroud)

......这似乎很合理.它也有效:如果我import qualified Data.Foldable,我可以使用foldrMaybe值.

但是,当我尝试调用nullMaybe时,Haskell认为我想使用为列表设计的null:

Prelude> :t null
null :: [a] -> Bool
Prelude> null Nothing
<interactive>:3:6:
    Couldn't match expected type `[a0]' with actual type `Maybe a1'
    In the first argument of `null', namely `Nothing'
    In the expression: null Nothing
    In an equation for `it': it = null Nothing
Run Code Online (Sandbox Code Playgroud)

我知道有isJust …

haskell typeclass ghc maybe foldable

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