小编Kei*_*son的帖子

wchar以单个空字节或其中两个结尾?

我只是不明白,也找不到关于wchar end的更多信息.

如果它以单个空字节结束,它是如何知道它不是字符串结束,如果像"009A"这样的东西代表一个unicode符号?

如果以两个空字节结束?好吧,我不确定,需要确认.

c++ string null byte wchar

8
推荐指数
3
解决办法
8361
查看次数

Eclipse无法链接到kernel32.lib

我已经安装了Eclipse CDT,因此我将能够编写和编译C代码.

编译进度失败,出现以下错误:

LNK1104 : cannot open file kernel32.lib
Run Code Online (Sandbox Code Playgroud)

我一直在我的电脑里搜索这个文件,发现它出现在一些文件夹中,

C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
Run Code Online (Sandbox Code Playgroud)

我怎么能"引用"eclipse到这些特定的路径之一,这样kernel32.lib才能找到文件,我将能够编译和运行C文件?

编辑 感谢@mux回答 LNK1104 : cannot open file kernel32.lib现在已经不见了,但现在出现了一个新的错误: LNK1104 : cannot open file 'C:\Program.lib'.再一次,任何建议都会有所帮助.

c c++ eclipse eclipse-cdt

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

如何使用C++程序中的gnuplot绘制图形

以下是我用于将数据(x和y坐标)写入文件的代码.

void display(){

    fstream out;
    outfile.open("Co_ordinates.txt",fstream::out | fstream::trunc);
    outfile.precision(6);
    for(int i=0;i<3000; i++){
        outfile<<fixed<<x[i]<<"   "<<fixed<<y[i]<<endl;
    }
    out.close();

}
Run Code Online (Sandbox Code Playgroud)

我想使用上面文件"Co_ordinates.txt"中的x和y坐标来绘制图形我已经从https://code.google.com/p/gnuplot-cpp/source/添加了gnuplot实用程序"gnuplot_i.hpp" browse/trunk/gnuplot_i.hpp.

我使用了gnuplot_i.hpp中定义的以下函数

/// plot x,y pairs: x y
    ///   from file
    Gnuplot& plotfile_xy(const std::string &filename,
                         const unsigned int column_x = 1,
                         const unsigned int column_y = 2,
                         const std::string &title = "");
Run Code Online (Sandbox Code Playgroud)

我添加了以下代码来绘制图形

const string s="Co_ordinates.txt";
Gnuplot& plotfile_xy(&s,1,2,'Grid');
Run Code Online (Sandbox Code Playgroud)

但是得到以下错误

错误:表达式列表在初始化程序[-fpermissive] |中被视为复合表达式 错误:从'int'|类型的右值开始,无效初始化'Gnuplot&'类型的非const引用

我已经尝试了几种形式的上述代码..但是得到错误.请提出一些解决方案..

c++ gnuplot

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

在bash中创建目录的标题?

我想/home/chris/Downloads通过使用mkdir和将当前日期转换为目录的标题date -I

我试过mkdir"date -I",它给我一个名为 "date -I" 的文件夹,没有引号就给出了错误

mkdir: invalid option -- 'I'
Run Code Online (Sandbox Code Playgroud)

试着让它成为下一个变量

date= date -I
mkdir -p $date
Run Code Online (Sandbox Code Playgroud)

使用该-p选项,它看起来不错,但在检查时,没有创建该文件夹.删除-p让我错误

mkdir: cannot create directory `/home/chris/Downloads/': File exists
Run Code Online (Sandbox Code Playgroud)

甚至指向整个路径

date= date -I
mkdir "/home/chris/Downloads/$date"
Run Code Online (Sandbox Code Playgroud)

给我带来了和以前一样的错误

这不是变量是空的,我回应它并且值是我应该期望的,似乎是在创建目录之前没有替换该值.解决这个问题的方法是什么?我正在运行Ubuntu 11.04(Natty Narwhal),如果它能为您提供更多信息.

linux bash shell ubuntu-11.04

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

运行时的gcc重定位错误

目前我正在运行一些多线程代码,所有代码都编译没有错误或警告,并且在执行代码时出现此错误:

重定位错误:/lib/x86_64-linux-gnu/libgcc_s.so.1:1thread_mutex_locXã+ + Ȩ+ ƨ+ &쏭Ũ Ȩ+ e

什么是重定位错误?

c++ gcc

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

泛型实例化何时发生(即,这个词是什么意思)?

此问题基于对此问题的回答(现已删除).它更多地是关于术语而不是实际的编程语义.

什么是通用的"实例化"?它是在编译时还是在运行时发生的?

我将参考Ada 2012标准的最新草案.

术语generic_instantiation的含义是明确的; 它是一个句法结构,类似于

package Inst is new Generic_Package(This => That);
Run Code Online (Sandbox Code Playgroud)

我的问题是关于动词"实例化".

我一直认为"实例化"是在编译时发生的事情.它是泛型模板的扩展,它发生在编译器在编译单元中遇到generic_instantiation时.

但是其他来源提到"实例化",至少可选地,在运行时发生.

这篇维基百科的文章说:

为了实例化一个通用单元,程序员 为每个正式传递实际参数.然后,通用实例的行为与任何其他单元一样.可以在运行时实例化通用单元,例如在循环内.

这似乎意味着实例化可以在编译时或运行时发生.我认为这是指制定了的generic_instantiation,它确实发生在运行时-但是,所有的论述出现在运行时,是吗?

我发现从Ada RM得到明确的答案是非常困难的."实例化"或"实例化"没有词汇表条目(附件N).

我能找到的最接近的是12.2(通用机构)第2段中"动态语义学"下的声明:

通用主体的详细说明除了确定通用单元从那时起可以实例化而不会使Elaboration_Check失败之外没有其他效果.

间接暗示实例化是一个运行时事件.

动词"实例化"是否正确引用了编译时事件(扩展通用模板)?到运行时事件(详细说明generic_instantiation)?如果是后者,我们称之为前者?Ada RM是否清晰,因为它需要在这一点上?

generics ada

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

地址C:&(号码)

我不明白这个程序的输出:

int arr[]={1,7,4,2,5,8};
int x=(&(arr[arr[1]-arr[4]])-arr);
printf("%d" ,x);
Run Code Online (Sandbox Code Playgroud)

arr[arr[1]-arr[4]]等于4.这是什么意思&(4)?为什么打印2?

c

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

如何从qsub获取作业ID

我正在使用群集.我将使用qsub命令来分配我的工作,我想要的是我可以取回工作ID,以便我可以监控工作.

基本上,我想要这样的事情:

#!/bin/bash
JOBID=$( qsub job1 )
# Monitoring base on $JOBID
Run Code Online (Sandbox Code Playgroud)

我找到了一个页面http://wiki.ibest.uidaho.edu/index.php/Tutorial:_Submitting_a_job_using_qsub,它讨论了一个变量,PBS_JOBID但我不知道如何使用它.有谁知道怎么做?

(我现在的解决方案是jobID='qsub task | cut -d ' ' -f 3')

cluster-computing qsub pbs

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

在C中混合'切换'和'同时'

我最近阅读了有关奇怪的C代码段的页面.大多数都是可以理解的.但我无法理解这一点:

switch(c & 3) while((c -= 4) >= 0){
    foo(); case 3:
    foo(); case 2:
    foo(); case 1:
    foo(); case 0:
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解释一下这段代码背后的逻辑是什么?它是如何工作的?

c while-loop switch-statement duffs-device

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

在c中理解汇编代码

我正在阅读一些嵌入了一些汇编代码的C代码.我理解这__asm__是一个运行汇编代码的语句,但是__asm__在下面的代码中做了什么?根据输出(即r = 16),似乎__asm__不影响变量r.不是吗?

#include <stdio.h>
static void foo()
{
    static volatile unsigned int r __asm__ ("0x0019");
    r |= 1 << 4;

    printf("foo: %u\n", r);
}
Run Code Online (Sandbox Code Playgroud)

平台:OSX Yosemite上的Apple LLVM 6.0版(clang-600.0.56)(基于LLVM 3.5svn)

c assembly clang

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