有没有办法在Delphi中使用win32 dll导出的C++类for win32?还有其他方法可以实现类似的东西(COM,.NET,......)吗?
我只是尝试设置一个小的QT示例,并且connect语句无法编译.来自编译器的错误消息是:"没有用于调用'MainWindow :: connect(...'"的匹配函数
我做错了什么?
谢谢您的帮助.
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QNetworkAccessManager>
#include <QNetworkReply>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
private:
Ui::MainWindow *ui;
QNetworkAccessManager networkManager;
private slots:
void on_requestButton_clicked();
void on_authenticationRequired(QNetworkReply* reply, QAuthenticator* auth);
void on_finished(QNetworkReply* reply);
};
#endif // MAINWINDOW_H
Run Code Online (Sandbox Code Playgroud)
#include "mainwindow.h"
#include "ui_mainwindow.h"
void MainWindow::on_requestButton_clicked()
{
}
void MainWindow::on_authenticationRequired(QNetworkReply* reply, QAuthenticator* auth)
{
}
void MainWindow::on_finished(QNetworkReply* reply)
{
}
MainWindow::MainWindow(QWidget …Run Code Online (Sandbox Code Playgroud) Visual C++中是否有浮点数据类型,尾数中有足够的精度来保存INT64?
示例应该可以执行以下操作:
__int64 from = 0xFFFFFFFFFFFFFFFF;
mightyFP intermediate;
__int64 to;
intermediate = from;
to = intermediate;
assert(from == to);
Run Code Online (Sandbox Code Playgroud)
其中mightyFP是我搜索的未知类型.
问候,托比亚斯
谢谢您的帮助.
托比亚斯
我尝试继续处理我之前的示例并扩展规则.我的问题是,使用ID_IDENTIFIER的规则不起作用 - 虽然我知道词法分析器正在工作(使用单元测试).
这是一个例子:
#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/lex_lexertl.hpp>
namespace qi = boost::spirit::qi;
namespace lex = boost::spirit::lex;
enum LexerIDs { ID_IDENTIFIER, ID_WHITESPACE, ID_INTEGER, ID_FLOAT, ID_PUNCTUATOR };
template <typename Lexer>
struct custom_lexer : lex::lexer<Lexer>
{
custom_lexer()
: identifier ("[a-zA-Z_][a-zA-Z0-9_]*")
, white_space ("[ \\t\\n]+")
, integer_value ("[1-9][0-9]*")
, hex_value ("0[xX][0-9a-fA-F]+")
, float_value ("[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?")
, float_value2 ("[0-9]+\\.([eE][+-]?[0-9]+)?")
, punctuator ("\\[|\\]|\\(|\\)|\\.|&>|\\*\\*|\\*|\\+|-|~|!|\\/|%|<<|>>|<|>|<=|>=|==|!=|\\^|&|\\||\\^\\^|&&|\\|\\||\\?|:|,")// [ ] ( ) . &> ** * + - ~ ! / % << >> < > <= >= == != ^ & …Run Code Online (Sandbox Code Playgroud) 我有一个小测试程序,它使用llvm来计算某些方程式的值.设置如下:我创建了一个包含添加,乘法,除法,减法和平方双数的函数的bc文件.现在我通过组合加法和乘法函数来设置具有不同参数的线性方程.然后我使用万花筒示例中的优化器转换函数.这很好用 - 结果函数将x作为参数,只进行2次浮点计算(乘法和加法).设置这些功能的代码是:
Function* createLinearFunction(const std::string& name, double factor, double summand, Module* module)
{
LLVMContext& context = getGlobalContext();
Function* func = cast<Function>(module->getOrInsertFunction(name.c_str(),Type::getDoubleTy(context),Type::getDoubleTy(context),(Type *)0));
//add basic block
BasicBlock* bb1 = BasicBlock::Create(context,"EntryBlock",func);
IRBuilder<> builder(bb1);
Argument* x0 = func->arg_begin();
x0->setName("x0");
Value* x1 = ConstantFP::get(context,APFloat(factor));
Value* x2 = ConstantFP::get(context,APFloat(summand));
std::vector<Value*> args1;
args1.push_back(x0);
args1.push_back(x1);
Value* x3 = builder.CreateCall(mul_d_dd,args1,"");
std::vector<Value*> args2;
args2.push_back(x2);
args2.push_back(x3);
Value* x4 = builder.CreateCall(add_d_dd,args2,"");
builder.CreateRet(x4);
return func;
}
Run Code Online (Sandbox Code Playgroud)
我现在想要的是以下内容 - 当我生成一个因子1的函数时,它应该优化乘法,并且使用summand 0它应该优化加法.使用因子0,它应该只返回summand.有通行证已经做到了吗?我只是假设llvm没有这样做,因为这里提到的原因:为什么LLVM不通过优化浮点指令?
谢谢你的帮助Tobias
添加 - 我尝试添加instcombine via createInstructionCombiningPass(),但优化的代码看起来仍然相同:
define double @Linear0xPlus0(double …Run Code Online (Sandbox Code Playgroud) 是否有可能创建一个程序作为控制台应用程序,如果从控制台启动,并作为Windows程序(使用GUI),否则启动?
如果有可能 - 我该怎么做?
托比亚斯
我有以下问题:随着时间的推移,我有2个信号.它们来自同一个来源,因此它们应该是相同的.我想检查一下他们是不是真的.
并发症:
我的想法是用傅里叶变换,卷积和统计方法进行比较.有人可以给我发一些链接,我可以找到更多关于如何处理这个问题的信息吗?
有没有办法检测单个文件的文件系统大小限制(例如胖32上4gb)?
它必须适用于Windows操作系统,但更好的是便携式解决方案.检测文件系统类型可能是一种解决方法,但我不知道如何做到这一点.
有人可以帮帮我吗?
提前谢谢托比亚斯
我正在处理一个更大的项目,我们正在考虑如何组织大型构建。我认为它应该/可以用 cmake 来完成,但目前我不知道如何满足我们的所有要求。
这是我们的项目组织的样子:
考虑到 cmake,我正在考虑这样的目录结构
- Root directory
- Build Module 1
- Build Module 1 Static Lib
- Build Module 1 Unit Test
- Build Module 1 Public Interface
- Build Module 2
- ...
- Build Module n
Run Code Online (Sandbox Code Playgroud)
第一个问题:从哪里开始放置 CMakeLists.txt 文件?我会从构建模块级别开始,而不是从 root 开始。这样,如果开发人员只想构建模块 3、4 和 5,他可以创建他的自定义模块。
第二个:如何处理部署/查找包。理想情况下,依赖项的查找机制将允许创建从源构建的构建以及仅从源获取依赖二进制文件的构建。我希望这可以使用 find_package 和 xxxConfig.cmake / FindXXX.cmake 以某种方式完成。有人能告诉我怎么做吗?如何创建这些文件?如何使用 cmake 创建适当的部署?
第三个问题:有人了解我们如何将 nuget 集成到这个过程中吗?这可以作为 cpack 生成器完成吗?已经有了吗?cpack 能否替代 nuget(意味着它可以从某个远程位置获取二进制文件并在构建过程中安装它们)?
谢谢你。托比亚斯
c++ ×8
algorithm ×1
boost ×1
boost-spirit ×1
cmake ×1
console ×1
delphi ×1
dll ×1
filesystems ×1
llvm ×1
native ×1
qt ×1
visual-c++ ×1
winapi ×1