小编Ale*_*x F的帖子

Bash脚本:从文件名中删除扩展名

我有以下bash脚本:

tar -zxvf $1
cd $1
Run Code Online (Sandbox Code Playgroud)

它应该提取存档文件并输入已创建的目录.通常,包归档文件创建具有相同名称的目录,如文件,没有扩展名,例如,mpc-1.0.1.tar.gz创建mpc-1.0.1目录.如何更改行cd $1以获取目录名称?存档文件有几个扩展名:tar.gz,tat.xz,tar.bz2.

linux bash

31
推荐指数
0
解决办法
5万
查看次数

Visual C#2010 Express输出窗口

C#2010 Express中有输出窗口吗?我在视图菜单中看不到它.

c# visual-studio-2010

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

从代码访问WPF控件验证规则

XAML:

  <TextBox Name="textboxMin">
      <TextBox.Text>
          <Binding Path="Max">
              <Binding.ValidationRules>
                  <local:IntValidator/>
              </Binding.ValidationRules>
          </Binding>
      </TextBox.Text>
  </TextBox>

码:

void buttonOK_Click(object sender, RoutedEventArgs e)
{
    // I need to know here whether textboxMin validation is OK
    // textboxMin. ???

    // I need to write something like:
    // if ( textboxMin.Validation.HasErrors )
    //     return;
}

如果至少有一个对话框控件没有通过验证 - 在XAML中,使用绑定,那么知道如何禁用OK按钮也会很好.有了这种方式,我不需要检查代码中的验证状态.

validation wpf binding

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

什么是装配中的%gs

void return_input (void)
{ 
   char array[30]; 

   gets (array); 
   printf("%s\n", array); 
}

在gcc中编译后,此函数将转换为以下汇编代码:

push   %ebp
mov    %esp,%ebp
sub    $0x28,%esp
mov    %gs:0x14,%eax
mov    %eax,-0x4(%ebp)
xor    %eax,%eax
lea    -0x22(%ebp),%eax
mov    %eax,(%esp)
call   0x8048374 
lea    -0x22(%ebp),%eax
mov    %eax,(%esp)
call   0x80483a4 
mov    -0x4(%ebp),%eax
xor    %gs:0x14,%eax
je     0x80484ac 
call   0x8048394 
leave  
ret  

我不明白两行:

mov    %gs:0x14,%eax
xor    %gs:0x14,%eax

什么是%gs,这两条线到底是做什么的?

这是编译命令:

cc -c -mpreferred-stack-boundary=2 -ggdb file.c

linux x86 assembly

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

试图静态链接Boost

我在Linux,Eclipse CDT,g ++和Boost库中工作.有了使用Boost线程的现有程序,我尝试静态而不是动态地链接它./ usr/local/lib目录包含以下文件:

libbost_thread.a
libbost_thread.so
libbost_thread.1.41.0
Run Code Online (Sandbox Code Playgroud)

动态链接工作:

g++  -o"MyProgram"  ./main.o   -lboost_thread
Run Code Online (Sandbox Code Playgroud)

静态链接:

g++ -static -o"MyProgram"  ./main.o   -lboost_thread
Run Code Online (Sandbox Code Playgroud)

产生大量的消息,如:

对'pthread_mutex_init'的未定义引用

如何静态链接到Boost库?

linux linker boost static-linking

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

座未完成

编译此代码片段:

let test =
    let x = 1
    printfn "%A" x

如果删除了最后一行,则会出现以下编译错误:

error FS0588: Block following this 'let' is unfinished. Expect an expression.

这条消息是什么意思?在C#/ C++中,我希望在这种情况下"未使用的变量"警告,但F#给出了不同的东西.

f#

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

检测路径是绝对路径还是相对路径

使用C++,我需要检测给定的路径(文件名)是绝对的还是相对的.我可以使用Windows API,但不想使用像Boost这样的第三方库,因为我需要在没有经验依赖性的小型Windows应用程序中使用此解决方案.

c++ windows path visual-c++

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

在本地计算机上调试Windows应用商店应用程序

我正在尝试使用Local Machine调试器调试Windows 8 C#Store应用程序.所以,我MainPageInitializeComponent调用之后向构造函数添加了一些不正确的行.我尝试了导致DivideByZeroNullReferenceException- 具有相同结果的代码.

所以,我执行"Start Debugging",调试器在这里打破:

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
        UnhandledException += (sender, e) =>
        {
            if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
        };
#endif
Run Code Online (Sandbox Code Playgroud)

堆栈信息不可用,无法检测错误的位置("输出"窗口中只有第一次机会异常消息给出提示).

我试图DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION在项目预定义符号中定义.这次我收到以下奇怪的消息:" 调试器附加到YourProgram.exe但未配置为调试此未处理的异常 ".

只有在"异常"对话框中选中特定异常类型并且DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION已定义时,我才设法在导致错误的行上中断.

那么,什么是打破违规行的正确方法,就像传统的桌面应用程序调试一样?如果可能,不修改例外列表.什么是DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION恒定的目的是什么?

c# debugging windows-8 visual-studio-2012 windows-store-apps

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

Qt Creator:在终端中运行

我想获得在Qt Creator中运行该程序的完整控制台功能,与此处描述的问题相同:使用Qt Creator控制台输入

当我在配置属性中选中"Run in Terminal"时,会打开空终端窗口,而不会输出程序.工具 - 选项 - 常规 - 终端具有此值:"x-terminal-emulator -e".我怎样才能使这个工作?我的操作系统是Ubuntu 10.4.

注意:请不要关闭这个问题,不要重复!我需要Ubuntu OS的解决方案.

console qt-creator

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

提升静态链接

我在Linux,GCC中使用Boost库.在安装和构建Boost之后,我发现使用Regex和Thread的程序使用共享的Boost库.为了我的目的,我需要静态链接.如何更改链接类型?我应该重建Boost,还是可以通过在我自己的项目或Boost配置文件中定义一些常量来设置链接类型?

linux linker boost

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