问题列表 - 第33798页

C如何使用uname函数

我应该编写一个函数来获取有关系统的一些信息(最重要的信息是架构).我找到了可以使用的函数uname,包括sys/utsname.h.好吧,虽然我用Google搜索并阅读了文档,但我找不到该函数的任何示例,我不明白如何使用uname.任何人都可以解释我如何使用它?如果你能写一个例子,那将是很棒的.提前致谢.

c function uname

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

解析CFDUMP结构和存储值

我该如何解析这个结构?我需要把它变成单个变量.例如,来自属性struct:

name

type

value
Run Code Online (Sandbox Code Playgroud)

我不熟悉结构,我需要将这种类型的数据输入数据库.

我玩过cfloop,但没什么.

cfdump

coldfusion parsing cfdump data-structures

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

使用opensource第三方库时感到困惑

如何在项目中集成C或C++开源第三方库?您是否将它附带的所有文件(即README,makefile等)复制到项目内部的单独目录中并使用其配置构建它?或者您只从源包中获取所需的源文件和标头?或者你只是安装预构建二进制文件?

如果我为Windows和Linux制作一个非常小的非GUI项目,那会更好吗?

c c++ build-process

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

在xcode中更改设备方向时,如何加载xib?

当设备的方向改变时,我将如何加载新的xib?即,当设备变为横向时加载横向导向的xib,反之亦然,纵向加载.以及如何自动检测方向变化并从那里进行调整?

cocoa-touch objective-c

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

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

将变量与$ _SERVER ['PHP_SELF']安全使用进行比较?

我仍然是PHP的新手,所以请原谅这个问题,如果它看起来很傻,但我想知道这是否安全使用$_SERVER['PHP_SELF'].

从我读到它的错误(容易注射),我想知道比较它是否安全.

例如,我希望PHP/CSS样式表根据人员所在的页面而改变,因此在PHP/CSS中,它将有一个if语句检查$_SERVER['PHP_SELF']他们访问的页面是否需要不同的样式表.

例:

if ($_SERVER['PHP_SELF'] === $thisPage) { }
Run Code Online (Sandbox Code Playgroud)

恶意代码会这样影响我吗?我可以简单地验证/清理它,然后使用它吗?

php

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

在C#中处理"循环初始化"的其他方法

首先,我要说我同意goto语句在很大程度上与现代编程语言中的更高级别结构无关,并且在适当的替代品可用时不应使用.

我最近重新阅读了Steve McConnell的Code Complete原版,并忘记了他对常见编码问题的建议.几年前,当我第一次开始时,我已经读过它,并且不认为我意识到配方会有多么有用.编码问题如下:执行循环时,您经常需要执行循环的一部分来初始化状态,然后使用其他逻辑执行循环,并使用相同的初始化逻辑结束每个循环.一个具体的例子是实现String.Join(delimiter,array)方法.

我想每个人第一个接受这个问题的都是这个.假设定义了append方法以将参数添加到返回值.

bool isFirst = true;
foreach (var element in array)
{
  if (!isFirst)
  {
     append(delimiter);
  }
  else
  {
    isFirst = false;
  }

  append(element);
}
Run Code Online (Sandbox Code Playgroud)

注意:稍微优化一下就是删除else并将其放在循环的末尾.赋值通常是单个指令并等效于else,并将基本块的数量减少1并增加主要部分的基本块大小.结果是在每个循环中执行一个条件以确定是否应该添加分隔符.

我也看到并使用了其他处理这个常见循环问题的方法.您可以先在循环外执行初始元素代码,然后从第二个元素到结尾执行循环.您还可以将逻辑更改为始终附加元素然后添加分隔符,一旦完成循环,您只需删除添加的最后一个分隔符.

后一种解决方案往往是我更喜欢的解决方案,因为它不会复制任何代码.如果初始化序列的逻辑发生变化,您不必记得在两个地方修复它.然而,它需要额外的"工作"来做某事然后撤消它,至少导致额外的cpu周期,并且在很多情况下,例如我们的String.Join示例也需要额外的内存.

我兴奋地阅读这个结构

var enumerator = array.GetEnumerator();
if (enumerator.MoveNext())
{
  goto start;
  do {
    append(delimiter);

  start:
    append(enumerator.Current);
  } while (enumerator.MoveNext());
}
Run Code Online (Sandbox Code Playgroud)

这样做的好处是,您没有重复的代码,也没有额外的工作.你开始循环进入第一个循环的执行的一半,那就是你的初始化.您只能使用do while构造模拟其他循环,但转换很容易并且阅读并不困难.

所以,现在问题.我很高兴尝试将其添加到我正在处理的一些代码中,发现它不起作用.在C,C++,Basic中工作得很好但是在C#中你不能跳转到不是父范围的不同词法范围内的标签.我很失望.所以我想知道,在C#中处理这个非常常见的编码问题(我主要在字符串生成中看到它)的最佳方法是什么?

或许更具体的要求:

  • 不要重复代码
  • 不要做不必要的工作
  • 不要比其他代码慢2到3倍
  • 可读

我认为可读性是唯一可能因我说的配方而受到影响的事情.但它在C#中不起作用,那么下一个最好的东西是什么?

*编辑* 由于一些讨论,我改变了我的表现标准.性能通常不是限制因素,所以更正确的目标应该是不合理,不是最快的.

我不喜欢我建议的替代实现的原因是因为它们要么重复代码,这留下了改变一个部分而不是另一个部分的空间,或者对于我通常选择它的那个需要"撤消"操作,这需要额外的思考和时间来撤消事物你做的那件事.特别是对于字符串操作,这通常会让您因一个错误而打开,或者无法解释一个空数组并尝试撤消未发生的事情.

c# goto initialization do-while

22
推荐指数
4
解决办法
1850
查看次数

获取对象的类型

我试图沿着这些方向做点什么:

int var = 5;
std::numeric_limits<typeid(var)>::max();
Run Code Online (Sandbox Code Playgroud)

但惊讶的是,它不起作用.我怎样才能解决这个问题?
谢谢.

c++ typeinfo

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

什么是'表达问题'?

我对这是什么有一个粗略的想法,但如果有人对"表达问题"的解释他们认为简洁直观我很乐意听到它.

computer-science programming-languages functional-programming

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

用于压缩jpeg和photoshop或更好的效用

Photoshop有一个非常好的jpeg压缩算法,使用它可以创建具有相同视觉质量的较小文件(与例如ImageMagick相比).是否有一些实用性,可以产生相同或更好的质量与尺寸比?

compression algorithm jpeg

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