我有以下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.
C#2010 Express中有输出窗口吗?我在视图菜单中看不到它.
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按钮也会很好.有了这种方式,我不需要检查代码中的验证状态.
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,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库?
编译此代码片段:
let test = let x = 1 printfn "%A" x
如果删除了最后一行,则会出现以下编译错误:
error FS0588: Block following this 'let' is unfinished. Expect an expression.
这条消息是什么意思?在C#/ C++中,我希望在这种情况下"未使用的变量"警告,但F#给出了不同的东西.
使用C++,我需要检测给定的路径(文件名)是绝对的还是相对的.我可以使用Windows API,但不想使用像Boost这样的第三方库,因为我需要在没有经验依赖性的小型Windows应用程序中使用此解决方案.
我正在尝试使用Local Machine调试器调试Windows 8 C#Store应用程序.所以,我MainPage
在InitializeComponent
调用之后向构造函数添加了一些不正确的行.我尝试了导致DivideByZero
或NullReferenceException
- 具有相同结果的代码.
所以,我执行"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
我想获得在Qt Creator中运行该程序的完整控制台功能,与此处描述的问题相同:使用Qt Creator控制台输入
当我在配置属性中选中"Run in Terminal"时,会打开空终端窗口,而不会输出程序.工具 - 选项 - 常规 - 终端具有此值:"x-terminal-emulator -e".我怎样才能使这个工作?我的操作系统是Ubuntu 10.4.
注意:请不要关闭这个问题,不要重复!我需要Ubuntu OS的解决方案.
我在Linux,GCC中使用Boost库.在安装和构建Boost之后,我发现使用Regex和Thread的程序使用共享的Boost库.为了我的目的,我需要静态链接.如何更改链接类型?我应该重建Boost,还是可以通过在我自己的项目或Boost配置文件中定义一些常量来设置链接类型?