问题列表 - 第28251页

"警告:假设循环不是无限"的解释是什么?

我刚刚决定改变所有变量unsigned,int并在重新编译有问题的代码时受到此警告消息的欢迎:

freespace_state.c:203: warning: assuming that the loop is not infinite
Run Code Online (Sandbox Code Playgroud)

有问题的一行:

for (x = startx; x <= endx; ++x, ++xptr)
Run Code Online (Sandbox Code Playgroud)

这个循环是60行代码(包括空格/括号等),并且goto在其中有一个,并且至少出现一次continue.

在这种情况下,我认为我很欣赏GCC假设这个循环不是无限的,因为它永远不应该无限循环.

GCC试图在这里告诉我什么?

警告的语法几乎暗示警告应该在某些其他警告的范围内进行,但在该背景下没有警告.

[编辑] 这完全是我自己的错.我从这里的一个问题偷了一些优化和警告选项而没有真正理解它们,并且从此忘记了它们.

请参阅Mark Rushakoff的回答,此外,我还习惯-Wunsafe-loop-optimizations明确警告GCC是否对循环做出假设.请参阅http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

c gcc gcc-warning

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

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

正确的Linux串口初始化序列

我写了一个必须在Linux上使用串口的应用程序,尤其是ttyUSB.使用标准的select()/ read()循环和write()执行读写操作,并且它们可能没有任何问题,但初始化代码(或缺少某些部分)会损坏tty子系统中的某些内容.这里是:


  vuxboot(string filename, unsigned baud = B115200) : _debug(false) {
    _fd = open(filename.c_str(), O_RDWR | O_NOCTTY);
    if(_fd < 0) throw new io_error("cannot open port");

    // Serial initialization was written with FTDI USB-to-serial converters
    // in mind. Anyway, who wants to use non-8n1 protocol?

    tcgetattr(_fd, &_termios);

    termios tio = {0};
    tio.c_iflag = IGNPAR;
    tio.c_oflag = 0;
    tio.c_cflag = baud | CLOCAL | CREAD | CS8;
    tio.c_lflag = 0;

    tcflush(_fd, TCIFLUSH);
    tcsetattr(_fd, TCSANOW, &tio);
  }
Run Code Online (Sandbox Code Playgroud)

另一个tcsetattr(_fd, TCSANOW, &_termios)坐在析构函数中,但它无关紧要.

无论有没有这个termios初始化, …

c linux serial-port tty

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

从MSBuild中的字符串中提取数字

我想从MSBuild中的字符串中提取数字.

如何使用内置任务或MSBuild.Community.Tasks执行此操作?(RegexMatch可能会这样做,但是如何?)

示例:我有字符串

agent0076
Run Code Online (Sandbox Code Playgroud)

我想把这个数字拿出来,没有前导零:

76
Run Code Online (Sandbox Code Playgroud)

regex msbuild numbers

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

HTML5 javascript库

我正在寻找有助于HTML5开发的JavaScript库.

请每个答案只发布一个图书馆,不要忘记描述它.

javascript html5

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

从Java的System.in读取输入的替代方法

我正在研究UVa Online Judge问题集存档作为练习Java的方法,并且作为一种练习数据结构和算法的方法.

他们给出了一个示例输入文件,提交给在线评判者作为起点(这是问题100的解决方案).

标准输入流(java.lang.System.in)的输入是此站点上任何解决方案的一部分,但我无法理解他们在示例解决方案中提供的System.in读取的实现.确实,输入文件可以包含整数,字符串等的任何变化,但每个解决方案程序都需要从System.in读取基本的文本输入行,一次一行.必须有一个更好的(更简单和更健壮的)从Java标准输入流收集数据的方法,而不是:

public static String readLn(int maxLg) {
    byte lin[] = new byte[maxLg];
    int lg = 0, car = -1;
    String line = “”;
    try {
        while (lg < maxLg) {
            car = System.in.read();
            if ((car < 0) || (car == ‘\n’)) {
                break;
            }
            lin[lg++] += car;
        }
    } catch (java.io.IOException e) {
        return (null);
    }
    if  ((car < 0) && (lg == 0)) {
        return (null); // eof
    }
    return (new String(lin, 0, lg));
} …
Run Code Online (Sandbox Code Playgroud)

java standards input system.in

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

严格的doctype - 表单和输入元素

有没有人知道严格doctype背后的原因,不允许输入元素是表单元素的直接后代.我觉得很烦人,我必须在另一个块级元素中包含一个提交按钮,这是一个块级元素,例如fieldset或div.但是,我无法在任何地方找到答案.

html doctype web-standards

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

C++(0x)中是否存在无操作"无用"功能对象?

我意识到这对于需要不到2秒钟实施的事情来说是一个荒谬的问题.但我依稀记得读过新标准引入的那个.

我grep'ed VC10的标题,并没有得到什么.你能帮我吗?这让我烦恼!:)

编辑: 第二个想法,我记得的新仿函数可能是无关的std::default_deleter.

c++ functional-programming no-op c++11

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

jQuery.validator.addMethod中的.post总是返回false

我是jQuery和javascript编程的新手.我有一个程序,检查用户名是否被采用.目前,PHP脚本始终返回

  if(isset($_POST["username"]) )//&& isset($_POST["checking"]))
    {
        $xml="<register><message>Available</message></register>";
        echo $xml;
    }
Run Code Online (Sandbox Code Playgroud)

登录功能有效,但用户名检查不起作用.有任何想法吗?这是我的所有代码:

$(document).ready(function() {
jQuery.validator.addMethod("checkAvailability",function(value,element){
    $.post( "login.php" , {username:"test", checking:"yes"}, function(xml){
        if($("message", xml).text() == "Available") return true;
        else return false;
    });
},"Sorry, this user name is not available");
$("#loginForm").validate({
    rules:  {
        username: {
            required: true,
            minlength: 4,
            checkAvailability: true
        },
        password:{
            required: true,
            minlength: 5
        }
    },
    messages: {
        username:{
            required: "You need to enter a username." ,
            minlength: jQuery.format("Your username should be at least {0} characters long.")
        }
    },
    highlight: function(element, …
Run Code Online (Sandbox Code Playgroud)

php jquery jquery-plugins

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

有没有人有一个.NET程序的好例子,它保持驻留内存并在计时器上运行一个动作?

该程序不应该有一个可见的窗口,更像是一个守护进程.(例如任务栏程序)任何链接或建议将不胜感激.

c# memory taskbar

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