小编Jon*_*ler的帖子

在一个命令中截断MySQL数据库中的所有表?

是否有查询(命令)在一次操作中截断数据库中的所有表?我想知道我是否可以使用一个查询来执行此操作.

mysql

327
推荐指数
11
解决办法
39万
查看次数

如何恢复初始git提交?

我第一次承诺使用git存储库; 然后我后悔提交并想要还原它.我试试

# git reset --hard HEAD~1
Run Code Online (Sandbox Code Playgroud)

我收到这条消息:

fatal: ambiguous argument 'HEAD~1': unknown revision or path not in the working tree.
Run Code Online (Sandbox Code Playgroud)

此提交是存储库的第一次提交.知道如何撤消git的初始提交吗?

git

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

什么正则表达式将匹配除逗号','或分号';'之外的每个字符?

是否可以定义一个正则表达式,该正则表达式将匹配除某个定义的字符或字符集之外的每个字符?

基本上,我想用逗号(,)或分号(;)分割字符串.所以我想用一个正则表达式来做它,它会匹配所有内容,直到遇到逗号或分号.

regex

309
推荐指数
3
解决办法
33万
查看次数

结合C++和C - #ifdef __cplusplus如何工作?

我正在开发一个包含大量遗留C代码的项目.我们已经开始用C++编写,目的是最终转换遗留代码.我对C和C++的交互方式有点困惑.我知道通过使用C++编译器包装C代码extern "C"不会破坏C代码的名称,但我不完全确定如何实现它.

因此,在每个C头文件的顶部(在包含警卫之后),我们有

#ifdef __cplusplus
extern "C" {
#endif
Run Code Online (Sandbox Code Playgroud)

在底部,我们写

#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)

在两者之间,我们拥有所有的includes,typedef和函数原型.我有几个问题,看看我是否理解正确:

  1. 如果我有一个C++文件A.hh,其中包含一个C头文件Bh,包含另一个C头文件Ch,这是如何工作的?我认为当编译器进入Bh时, __cplusplus将被定义,因此它将包装代码extern "C" (并且__cplusplus不会在此块内定义).因此,当它进入Ch时, __cplusplus将不会定义并且代码将不会被包装 extern "C".它是否正确?

  2. 包装一段代码有什么问题 extern "C" { extern "C" { .. } }吗?第二个会extern "C" 做什么?

  3. 我们不把这个包装器放在.c文件周围,只放在.h文件中.那么,如果函数没有原型会发生什么?编译器是否认为它是C++函数?

  4. 我们还使用了一些用C语言编写的第三方代码,并没有这种包装.每当我从该库中包含一个标题时,我就一直extern "C"在使用#include.这是处理这个问题的正确方法吗?

  5. 最后,这是一个好主意吗?还有什么我们应该做的吗?我们将在可预见的未来混合C和C++,我想确保我们覆盖所有基础.

c c++ c-preprocessor extern-c

293
推荐指数
4
解决办法
20万
查看次数

Git和讨厌的"错误:无法锁定现有信息/ refs致命"

从远程git存储库克隆后(在更好的代码中)我做了一些更改,提交并尝试推送:

git push origin master
Run Code Online (Sandbox Code Playgroud)

错误:

错误:无法锁定现有信息/引用
致命错误:git-http-push失败

此案例涉及已存在的存储库.

我以前做过的是:

  1. git config –global http.sslVerify false
  2. git init
  3. git remote add [url]
  4. git clone
  5. 改变数据
  6. git commit

在'bettercodes'我无法访问git log.

我正在使用Windows.详细错误是:

C:\MyWorkStuff\Projects\Ruby\MyProject\>git push origin master
Unable to create branch path https://user:password@git.bettercodes.org/myproject/info/
error: cannot lock existing info/refs
fatal: git-http-push failed
Run Code Online (Sandbox Code Playgroud)

我之前克隆过,然后更改了代码并提交了.

git

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

什么是Windows的优秀grep工具?

有关Windows的grep工具的任何建议?理想情况下可以利用64位操作系统.

我当然知道Cygwin,并且也找到了PowerGREP,但我想知道那里是否有隐藏的宝石?

windows grep

290
推荐指数
17
解决办法
49万
查看次数

如何找到'sizeof'(指向数组的指针)?

首先,这里是一些代码:

int main() 
{
    int days[] = {1,2,3,4,5};
    int *ptr = days;
    printf("%u\n", sizeof(days));
    printf("%u\n", sizeof(ptr));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法找出ptr指向的数组的大小(而不是仅仅给出它的大小,在32位系统上是4个字节)?

c arrays pointers sizeof

288
推荐指数
8
解决办法
35万
查看次数

使用-i选项的sed命令在Mac上失败,但适用于Linux

我已成功使用以下sed命令在Linux中搜索/替换文本:

sed -i 's/old_link/new_link/g' *
Run Code Online (Sandbox Code Playgroud)

但是,当我在Mac OS X上试用它时,我得到:

"命令c期望\后跟文本"

我以为我的Mac运行普通的BASH shell.这是怎么回事?

编辑:

根据@High Performance,这是由于Mac sed具有不同的(BSD)风格,因此我的问题是如何在BSD中复制此命令sed

编辑:

以下是导致此问题的实际示例:

sed -i 's/hello/gbye/g' *
Run Code Online (Sandbox Code Playgroud)

linux macos bash sed

271
推荐指数
9
解决办法
17万
查看次数

Linux命令列出所有可用的命令和别名

是否有Linux命令列出此终端会话的所有可用命令和别名?

好像你输入'a'并按下了标签,但是对于字母表中的每个字母.或运行'别名'但也返回命令.

为什么?我想运行以下命令,看看命令是否可用:

ListAllCommands | grep searchstr
Run Code Online (Sandbox Code Playgroud)

linux terminal command-line

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

从Python源代码生成UML图的最佳方法是什么?

一位同事正在寻求从大量的Python源代码生成UML类图.他主要对继承关系感兴趣,对组合关系有点兴趣,并不关心只是Python原语的类属性.

源代码非常简单,并不是非常邪恶 - 例如,它没有做任何花哨的元类魔法.(这主要来自Python 1.5.2的日子,其中有一些"现代"的东西.)

推荐的最佳解决方案是什么?

python diagram uml

249
推荐指数
10
解决办法
17万
查看次数

标签 统计

c ×2

git ×2

linux ×2

arrays ×1

bash ×1

c++ ×1

c-preprocessor ×1

command-line ×1

diagram ×1

extern-c ×1

grep ×1

macos ×1

mysql ×1

pointers ×1

python ×1

regex ×1

sed ×1

sizeof ×1

terminal ×1

uml ×1

windows ×1