当一个变量等于我设置的某个值时,我喜欢让GDB设置一个断点,我试过这个例子:
#include <stdio.h>
main()
{
int i = 0;
for(i=0;i<7;++i)
printf("%d\n", i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
GDB的输出:
(gdb) break if ((int)i == 5)
No default breakpoint address now.
(gdb) run
Starting program: /home/SIFE/run
0
1
2
3
4
5
6
Program exited normally.
(gdb)
Run Code Online (Sandbox Code Playgroud)
就像你看到的那样,GDB并没有提出任何突破点,这可能与GDB有关吗?
我从下载的示例中获取了这段代码:
bool ChatServer::event(QEvent * event)
{
if(event->type() == QEvent::User)
{
UserEvent * ue = static_cast<UserEvent *>(event);
switch(ue->userType)
{
case CR::ErrorEvent:
case CR::LogEvent:
{
TraceEvent * te = static_cast<TraceEvent *>(ue);
if(te->userType == CR::ErrorEvent)
{
error(te->msg);
}
else
{
log(te->msg);
}
}
break;
default:
return false;
}
}
else
{
return QTcpServer::event(event);
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
现在如果编译程序我得到这个错误:
g++ -c -pipe -O2 -Wall -W -DQT_NO_DEBUG -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/share/qt4/mkspecs/freebsd-g++ -I. -I/usr/local/include/qt4/QtCore -I/usr/local/include/qt4/QtNetwork -I/usr/local/include/qt4 -I. -I/usr/local/include/qt4 -I/usr/local/include -o chatserver.o chatserver.cpp
g++ -c -pipe -O2 …Run Code Online (Sandbox Code Playgroud) 是否可以在QDesigner中设置对话框或窗口中心的小部件,比如我有一个包含3行编辑和标签的小部件,我想在窗口中心设置此小部件.
问题:我有3台机器,每台机器的时间限制为30毫秒,每台机器有3个区域,无法在那里执行任务.任务有P(优先级)和W(权重,这是在此设置中完成任务的时间),任务必须首先按优先级排序,从低到高依次为:
任务01 {6,2} // P/W = 3此任务最后执行(3)
任务02 {7,7} // P/W = 1此任务首先执行(1)
任务03 {4,2} // P/W = 2此任务执行第二(2)
现在,为了执行任务(我有6个),我必须检查所有3台机器,找到第一个适合任务,选择适合任务,它必须是3台机器中的最佳,例如:
机器01; | ----- 5 ---- 9 ------- 16-17--19-20 |
机器02:| ---- 4-5--7-8 --------- 17-18-- |
机器03:| ----- 5 --- 8--10 --- 13--15 --- 18-- |
(1)在机器02中执行任务02(我们寻找执行任务的P ms,以及启动任务的最短时间,因为机器01(从9毫秒开始)和02(从8毫秒开始)都有7毫秒空闲时间,机器02可以先启动任务然后机器01).
(2)在机器02中执行的任务03(我们寻找P ms来执行任务).
(3)在机器01中执行的任务01(我们寻找P ms来执行任务).
某些时间段被定义为关键时期,不能用于安排工作.这些时段(例如5-9,7-8)存储在专用结构中z_indispo.
该bfeet结构用于存储任务开始和巫婆机器.
我在C中实现了大部分整个算法,但我的结果与预期不同:
#include <stdio.h>
typedef struct _z_indispo {
int t1;
int t2;
} z_indispo;
typedef struct _machines {
int t[20]; // array represent time …Run Code Online (Sandbox Code Playgroud) 我希望我的MySQL服务器只使用unix socket,并忽略TCP网络,所以我将这一行添加到我的配置中/etc/my.cnf:
skip-networking
Run Code Online (Sandbox Code Playgroud)
但netstat告诉我MySQL仍然使用TCP端口3306:
# netstat -tl | grep mys
tcp 0 0 *:mysql *:* LISTEN
Run Code Online (Sandbox Code Playgroud) 我想在QTableView中设置一个可编辑列,到目前为止,我尝试子类化QTableView并重新实现Qt::ItemFlags flags(const QModelIndex & index) const,子类化QSqlQueryModel并重新实现Qt::ItemFlags flags(const QModelIndex & index) const,最后子类化QAbstractItemView,但这会出现编译器错误。
子类化 QTableView:
#include "exqtableview.h"
ExQTableView::ExQTableView(QWidget *parent) :
QTableView(parent)
{
}
Qt::ItemFlags ExQTableView::flags(const QModelIndex & index) const
{
if (!index.isValid())
return Qt::ItemIsEnabled;
if (index.column() == 2)
return index.parent().flags() & ~Qt::ItemIsEditable;
}
Run Code Online (Sandbox Code Playgroud)
子类化 QSqlQueryModel
#include "exsqlquerymodel.h"
ExSqlQueryModel::ExSqlQueryModel(QObject *parent) :
QSqlQueryModel(parent)
{
}
Qt::ItemFlags ExSqlQueryModel::flags( const QModelIndex &index) const
{
Qt::ItemFlags flags = QSqlQueryModel::flags(index);
if (index.column() == 2 )
flags …Run Code Online (Sandbox Code Playgroud) 我有这个页脚:
<div id="footer" class="navbar-bottom">
<div class="navbar-inner">
<div class="row">
<div class="span12" style="text-align: center;">
<ul class="menu-footer">
<li><a href="#"><img src="images/fportfolio.png"><p class="merg-top">Portfolio</p></a></li>
<li><a href="#"><img class="center" src="images/fabout.png"><p class="merg-top">About</p></a></li>
<li><img width="160px" src="images/logo.png"></li>
<li><a href="#"><img src="images/fclients.png"><p class="merg-top">Clients</p></a></li>
<li><a href="#"><img src="images/fcontact.png"><p class="merg-top">Contact</p></a></li>
</ul>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
每个文本和图像都完美地位于li元素内部,现在我喜欢ul元素位于div的中心,但它现在对齐到左边.
我搜索了x ++ vs ++ x,我在这里找到了一个很好的答案,所以我决定看看gcc的汇编输出,看看x ++和++ x是如何实现的:
main(){int s = 0; ++ S; 返回0; }
编译示例:
gcc mul.c -masm = intel -o mul.asm
++ s的输出:
.file "mul.c"
.intel_syntax
.text
.p2align 4,,15
.globl main
.type main, @function
main:
lea %ecx, [%esp+4]
and %esp, -16
push DWORD PTR [%ecx-4]
push %ebp
mov %ebp, %esp
push %ecx
sub %esp, 16
mov DWORD PTR [%ebp-8], 0
add DWORD PTR [%ebp-8], 1
mov %eax, 0
add %esp, 16
pop %ecx
pop %ebp …Run Code Online (Sandbox Code Playgroud) 我在如何在 Blogger 中发布帖子时遇到了麻烦,根据他们的文档,查询必须如下所示:
POST https://www.googleapis.com/blogger/v3/blogs/{blogId}/posts/
Authorization: {OAuth 2.0 token}
Content-Type: application/json
{
"kind": "blogger#post",
"blog": {
"id": "{blogId}"
},
"title": "A new post",
"content": "With <b>exciting</b> content..."
}
Run Code Online (Sandbox Code Playgroud)
就我而言,我总是收到“无效凭据”,但在插入帖子失败时我仍然可以获得博客信息。
Returned response:
{ "error": { "errors": [ { "domain": "global", "reason": "authError", "message": "Invalid Credentials", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Invalid Credentials" } }
Run Code Online (Sandbox Code Playgroud)
用于插入帖子的代码:
$postTitle = 'post test';
$postContent = 'just another test.';
$url = 'https://www.googleapis.com/blogger/v3/blogs/'.$blogId.'/posts/';
$headerQuery = array();
$headerQuery[] = 'Authorization: …Run Code Online (Sandbox Code Playgroud) 我发现这段代码,最初在这里:
#include <stdio.h>
int main()
{
int p = 0;
p = p++ + ++p;
printf("p=%d\n", p);
}
Run Code Online (Sandbox Code Playgroud)
我猜测输出将是2,但是当我编译代码并执行它时,输出为3,为什么?