小编sjs*_*sam的帖子

自动连接信号与 GtkBuilder 但在 GTKmm 上

C中,我可以使用以下代码自动连接信号:

gtk_builder_connect_signals (builder, NULL)
Run Code Online (Sandbox Code Playgroud)

如何使用GTKmm在C++中执行此操作?

c c++ gtk gtkmm

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

sed不在bash脚本中工作

我已经阅读了关于这个主题的所有类似问题,但没有找到与我所遇到的问题相匹配的问题.如果已经回答,我道歉.

在我写的bash脚本中,有一个非常简单的sed命令,它似乎不起作用.没有错误,从命令行运行时命令工作正常.

在set -x的输出中,我可以看到sed命令完美地执行.

GNU bash,版本4.3.11(1)-release(x86_64-pc-linux-gnu)

Bash脚本:(为了更容易理解而降低音量)

#!/bin/bash -x

# This script has the exact same sed command as used on cli

contact='"tim@email.com"'

sed -i "/$contact/d" /home/tim/Desktop/file.txt

exit
Run Code Online (Sandbox Code Playgroud)

壳牌产量:

tim@ubuntu:~/Desktop$ cat file.txt
t,b,tim@email.com
tim@ubuntu:~/Desktop$ ./test.sh 
+ contact='"tim@email.com"'
+ sed -i '/"tim@email.com"/d' /home/tim/Desktop/file.txt
+ exit
tim@ubuntu:~/Desktop$ cat file.txt
t,b,tim@email.com
tim@ubuntu:~/Desktop$ sed -i "/"tim@email.com"/d" /home/tim/Desktop/file.txt
tim@ubuntu:~/Desktop$ cat file.txt
tim@ubuntu:~/Desktop$
Run Code Online (Sandbox Code Playgroud)

我假设我错过了一些非常明显的东西,但是我已经完成了盯着它,希望得到的答案是从屏幕上跳下来并拍打我的脸.请帮忙 :-)

蒂姆

linux bash sed

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

可以在return语句中省略return关键字吗?

我最近在这个Apache Axis教程示例中遇到了下面的代码.

int main()
{
    int status = AXIS2_SUCCESS;

    axutil_env_t *env = NULL;
    axutil_allocator_t *allocator = NULL;
    env = create_environment();

    status = build_and_serialize_om(env);

    (status == AXIS2_FAILURE)
    {
        printf(" build AXIOM failed");
    }

    axutil_env_free(env);

     0;
}
Run Code Online (Sandbox Code Playgroud)

我不明白的是0;最后.
是没有return关键字的return语句吗?

我尝试下面的代码片段在Visual Studio中测试它.

int main()
{
    0; // in the second run, replaced 0 with 28
}
Run Code Online (Sandbox Code Playgroud)

两个程序都运行没有任何问题.但echo %ERRORLEVEL%在Windows命令行中,两者都返回0.

但下面的代码

int add()
{
    0;
}
Run Code Online (Sandbox Code Playgroud)

原因

错误1错误C4716:'add':必须返回一个值

我理解0为隐含地添加了返回值main().

我没有问题,包括return关键字,但我将Axis2/C库移植到C++项目.我遇到过很多例子0;

为什么上面的语法会导致这种未定义的行为?

c++

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

自定义 php.ini / php_value :哪个优先?

我们可以使用

PHPINIDir /var/www/web1

说明中的指令<VirtualHost>

但是我已经看到php_value应用于 httpd.conf 文件中的所有站点的语句。例如 :

php_value upload_max_filesize somevalue

像上面这样的常规设置会覆盖自定义的 php.ini 设置吗?

请原谅我目前没有环境来测试这个。

php apache-config

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

reg for . 中的双反斜杠和单斜杠有什么区别?

下面两个命令:

grep ', \\.' enrolments


grep ', \.' enrolments
Run Code Online (Sandbox Code Playgroud)

得到了如下所示的相同结果

COMP4001|4368523|Doddau Yobhazravi, .             |8684  |M

COMP9315|4368523|Doddau Yobhazravi, .             |8684  |M

COMP9321|4368523|Doddau Yobhazravi, .             |8684  |M

COMP9331|4368523|Doddau Yobhazravi, .             |8684  |M

COMP3121|4896558|Vozaila, .                       |3978/3|F

COMP9321|4896558|Vozaila, .                       |3978/3|F

COMP9031|4389601|Yiehil, .                        |8680/2|M

COMP9318|4389601|Yiehil, .                        |8680/2|M
Run Code Online (Sandbox Code Playgroud)

reg for . 中的双反斜杠和单斜杠有什么区别?

unix bash shell

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

替换文件倒数第二行的"模式"

我必须在文件的倒数第二行 - file.txt中用"string"替换"pattern".以下三个sed命令能够打印倒数第二行.但我需要用"字符串"替换"模式".任何帮助?

sed -e '$!{h;d;}' -e x file.txt

sed -n 'x;$p' file.txt

sed 'x;$!d' file.txt

$ cat file.txt  
cabbage  
spinach  
collard greens  
corn salad  
Sweet pepper  
kale  
Run Code Online (Sandbox Code Playgroud)

如何替换文件的倒数第二行(甜椒):
a.如果倒数第二行包含"甜椒"
b,则将"Sweet"替换为"green" .用"胡萝卜"代替整条生产线,无论它含有什么

sed

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

如何使“DrawText”矩形恰好适合文本?

文档[ 这里 ]说如果我们使用DT_CALCRECT标志,那么下面将完成:

确定矩形的宽度和高度。如果有多行文本,DrawText 使用 pRect 参数指向的矩形的宽度,并扩展矩形的底部以限制最后一行文本。如果只有一行文本,DrawText 会修改矩形的右侧,使其限定该行中的最后一个字符。在任何一种情况下,DrawText 都会返回格式化文本的高度,但不绘制文本。

从描述中DT_CALCRECT可以清楚地看出,这将使DrawText 绘制内容,以便我应该做类似的事情

DrawTextExA(hdc, fromsqlite->descrip, -1, &rect, DT_CALCRECT, NULL);
// On debugging, I can see that rect is being modified in the above step.
if (DrawTextExA(hdc, fromsqlite->descrip, -1, &rect,
            DT_LEFT | DT_EDITCONTROL | DT_WORDBREAK, NULL) == 0) {
MessageBox(NULL, L"DrawText failed", NULL, MB_OK);
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是矩形的宽度应该是固定的。所以,我只想rect扩展矩形的底部。在我的情况下,虽然fromsqlite->descripsqlite数据库中检索的内容始终被视为single-line文本。

任何帮助表示赞赏。

c winapi

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

在带有字符的数字上填充0上的bash脚本

我想写一个bash scritpt,它会在前面加上一个十六进制字符的0填充,例如.32b,ae2等它只适用于整数,但不适用于混合字符和数字.我用了

printf "%04d$a\n" .  a=ae2.   
Run Code Online (Sandbox Code Playgroud)

我想要发生的是这个0ab3,003s,000a,002a填充

bash shell

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

Axis2 无法加载 DLL

我在 Apache-Axis2 日志文件中发现了以下行。

[Sat Nov 14 12:16:08 2015] [error] ..\..\util\src\class_loader.c(167) Loading shared library ..//lib/axis2_http_sender.dll  Failed. DLERROR IS DLL Load Error 126: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

分析 class_loader.c 文件从第 156 行到第 167 行,如下所示:

dll_name = axutil_dll_desc_get_name(dll_desc, env);
    AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Shared library to be loaded is %s",dll_name);
    dl_handler = AXIS2_PLATFORM_LOADLIB(dll_name);
    if (!dl_handler)
    {        
#ifndef WIN32
        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading shared library %s  Failed. DLERROR IS %s", 
            dll_name, AXIS2_PLATFORM_LOADLIB_ERROR);
#else
        axis2_char_t buff[AXUTIL_WIN32_ERROR_BUFSIZE];
        axutil_win32_get_last_error(buff, AXUTIL_WIN32_ERROR_BUFSIZE);
        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading shared library %s  Failed. …
Run Code Online (Sandbox Code Playgroud)

c apache-axis

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

名称修改公约

功能说:

long myfunction(int,float)
Run Code Online (Sandbox Code Playgroud)

编译器可以将此接口记录为:

?MyFunctionFoo@@YAXH
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,装饰原始名称的附加字符将编码参数的数量和类型.

标准所说的关于修剪的所有内容(1.3.17)是:

签名用作名称修改和链接的基础.

编译器是否遵循上述编码方案的标准约定 ?

或者,两个编译器是否需要为相同的功能提供相同的装饰名称

c++

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

标签 统计

bash ×3

c ×3

c++ ×3

sed ×2

shell ×2

apache-axis ×1

apache-config ×1

gtk ×1

gtkmm ×1

linux ×1

php ×1

unix ×1

winapi ×1