这是一个非常简单的Objective-C控制台应用程序:
#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
NSLog(@"Hello world!");
[pool drain];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我gcc main.m -o main -ObjC -framework Foundation -framework CoreLocation在Mac上编译它.
我的Mac上也安装了iOS SDK.如何修改此命令以在我的计算机上编译相同的代码,以便在(越狱)iOS设备上使用?
然后,我可以通过ssh传输可执行文件并使用它进行签名ldid.
下面的C++程序应该返回一个严格的正值.然而,它返回0.
怎么了 ?我怀疑是双重转换,但我无法弄清楚为什么以及如何.
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
vector<double> coordinates;
coordinates.push_back(0.5);
coordinates.push_back(0.5);
coordinates.push_back(0.5);
cout<<inner_product(coordinates.begin(), coordinates.end(), coordinates.begin(), 0)<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我有两张桌子
Bills: id amount reference
Transactions: id reference amount
以下SQL查询
SELECT
*,
(SELECT SUM(amount)
FROM transactions
WHERE transactions.reference = bils.reference) AS paid
FROM bills
GROUP BY id HAVING paid<amount
Run Code Online (Sandbox Code Playgroud)
意味着来自表的某些行Bills,添加一个列paid,其中包含相关事务量的总和.
但是,它仅在每个账单至少有一笔交易时才有效.否则,不返回无交易账单的行.
也许,那是因为我应该做一个内部联接!
所以我尝试以下方法:
SELECT
*,
(SELECT SUM(transactions.amount)
FROM transactions
INNER JOIN bills ON transactions.reference = bills.reference) AS paid
FROM bills
GROUP BY id
HAVING paid < amount
Run Code Online (Sandbox Code Playgroud)
但是,这会为所有行返回相同的pay值!我究竟做错了什么 ?
我打算使用Arduino可编程板.它们的闪存存储量非常有限,范围在16到128 kB之间,用于存储编译的C或C++代码.
有没有办法估计它代表多少(标准)代码?
我想这很模糊,但我只是在寻找一个数量级.
我正在编写C/C++客户端/服务器套接字应用程序.此时,客户端每隔50ms将自身连接到服务器并发送消息.
一切似乎都有效,但数据流不是连续的:突然,服务器不再接收任何东西,然后一次收到5条消息......有时候一切正常......
有人知道这种奇怪行为的起源吗?
部分代码:
客户:
while (true)
{
if (SDL_GetTicks()-time>=50)
{
socket = new socket();
socket->write("blah");
message.clear();
message = socket->read();
socket->close();
delete socket;
time=SDL_GetTicks();
}
}
Run Code Online (Sandbox Code Playgroud)
服务器:
while (true) {
fd_set readfs;
struct timeval timeout={0,0};
FD_ZERO(&readfs);
FD_SET(sock, &readfs);
select(sock + 1, &readfs, NULL, NULL, &timeout)
if(FD_ISSET(sock, &readfs))
{
SOCKADDR_IN csin;
socklen_t crecsize = sizeof csin;
SOCKET csock = accept(sock, (SOCKADDR *) &csin, &crecsize);
sock_err = send(csock, buffer, 32, 0);
closesocket(csock);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
1.我试着做
int flag = 1;
setsockopt(socket, IPPROTO_TCP, …Run Code Online (Sandbox Code Playgroud)为什么a1=72不是73在C++代码本(可怕的)片段?
#include <iostream>
#include <string>
using namespace std;
int main (int argc, char* argv[])
{
double a = 136.73;
unsigned int a1 = (100*(a-(int)a));
cout << (a-(int)a) << endl; // 0.73
cout << 100*(a-(int)a) << endl; // 73
cout << a1 << endl; // 72 !
}
Run Code Online (Sandbox Code Playgroud)
您可以在http://codepad.org/HhGwTFhw执行它
在makefile中,我在构建目录中构建了所有.o文件:
program: class1.o class2.o class3.o
g++ $(BUILDDIR)class1.o $(BUILDDIR)class2.o $(BUILDDIR)class3.o -o $@
Run Code Online (Sandbox Code Playgroud)
$(BUILDDIR)class1.o $(BUILDDIR)class2.o $(BUILDDIR)class3.o从依赖列表生成会很酷......
我知道这$^会给我所有依赖项的列表,用空格分隔,但我不能处理子目录.
可能吗 ?
如果我有program: class1.o class2.o class3.o configure,我可以configure从列表中排除吗?
谢谢 :)
编辑:迈克尔的解决方案效果很好,但这样做,make没有找到的依赖关系和具有每次建立一切......是不是有一个更简单的方法,使得当潜规则一样program: class1.o class2.o class3.o,告诉它把二进制文件在构建目录?
以下C ++程序
#include <iostream>
#include <boost/tokenizer.hpp>
using namespace std;
int main()
{
typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
string s ("(0,30,0)");
tokenizer tokens(s.substr(1,s.size()-2), boost::char_separator<char>(","));
for (tokenizer::iterator tok_iter = tokens.begin(); tok_iter != tokens.end(); ++tok_iter)
cout<<*tok_iter<<endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有一个问题,因为它输出0 0 0而不是0 30 0...
但是,如果我像这样稍微改变一下:
#include <iostream>
#include <boost/tokenizer.hpp>
using namespace std;
int main()
{
typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
string s ("(0,30,0)");
//Modified lines:
string t (s.substr(1,s.size()-2));
tokenizer tokens(t, boost::char_separator<char>(","));
for (tokenizer::iterator tok_iter = tokens.begin(); tok_iter != tokens.end(); ++tok_iter)
cout<<*tok_iter<<endl; …Run Code Online (Sandbox Code Playgroud) 我试图替换表单的所有表达式
\[something\]
Run Code Online (Sandbox Code Playgroud)
在一个字符串中
\[<img src='something'>\]
Run Code Online (Sandbox Code Playgroud)
既然是\和[ ]特殊字符,我需要espace他们(所以\\,\[和\]),因此我的代码将是
def repl(m):
return "<img src='"+m.group(1)+"'>"
print re.sub("\\\[(.*?)\\\]", repl, "frfrfr\nfrrffr<p>\[something\]</p>frff\nfrfrr", re.S)
Run Code Online (Sandbox Code Playgroud)
但是,这会返回原始字符串.有人能指出我的错误吗?
如何qressource使用命令打开资源文件 ( ) QDesktopServices::openUrl?
我尝试了几种方法,但似乎都不起作用(例如QDesktopServices::openUrl(QUrl(tr(":ressource.pdf")));)
谢谢你。
我想在g ++的控制台输出中用"on"替换所有"no".我试过了
$ g++ | sed -e 's/no/on/g'
Run Code Online (Sandbox Code Playgroud)
但它表明
i686-apple-darwin9-g ++ - 4.0.1:没有输入文件
代替
i686-apple-darwin9-g ++ - 4.0.1:关于输入文件
我的类有一个成员std::string received;,在其构造函数中的空字符串中初始化,以及一个printReceived打印字符串的函数cout.
在main(),创建上述类的实例,并printReceived进行调用.
我没有得到一个空字符串,而是获得了完全意想不到的值(但总是相同):
如果printReceived是的话std::cout<<"Received ":<<received<<std::endl;,我明白了
Received: eived: 作为输出.
如果此文件已链接,则在未调用的另一个类的函数中存在的字符串常量.
那可能来自哪里?这让我很生气......所有变量都被正确初始化了.我之前从未遇到过这个问题,而且我用C++编写了很多程序.
这是一个完整的最小例子:
CellularTest.cpp
#include "A.h"
#include <iostream>
int main()
{
A s;
s.println("AT+CSQ");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
A.cpp
#include "A.h"
A::A()
: received("")
{
}
void A::println(char* s)
{
received+=s+'\n';
treatReceived();
}
void A::treatReceived()
{
std::cout<<"Received: "<<received<<std::endl;
}
Run Code Online (Sandbox Code Playgroud)
啊
#include <iostream>
#include <string>
class A
{
public:
A();
void println(char* s); …Run Code Online (Sandbox Code Playgroud)