本篇文章给大家谈谈将Boost序列化与-Wall-Wextra一起使用时的警告,以及boost序列化库的知识点,同时本文还将给你拓展Alibabafastjson序列化与反序列化、Bootstrap3
本篇文章给大家谈谈将 Boost 序列化与 -Wall -Wextra 一起使用时的警告,以及boost序列化库的知识点,同时本文还将给你拓展Alibaba fastjson 序列化与反序列化、Bootstrap 3.0不能与Apache 2.4一起使用吗?、bootstrap-可关闭的警告框、bootstrap4:pt-4 类不能与 col-12 类一起使用等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- 将 Boost 序列化与 -Wall -Wextra 一起使用时的警告(boost序列化库)
- Alibaba fastjson 序列化与反序列化
- Bootstrap 3.0不能与Apache 2.4一起使用吗?
- bootstrap-可关闭的警告框
- bootstrap4:pt-4 类不能与 col-12 类一起使用
将 Boost 序列化与 -Wall -Wextra 一起使用时的警告(boost序列化库)
如何解决将 Boost 序列化与 -Wall -Wextra 一起使用时的警告?
我正在尝试使用 Boost.serialize
。它似乎工作正常,但是当我使用 -Wextra
(版本 10.2.0)打开 -Wall
和 g++
警告时收到警告。
当我关闭警告时,它运行良好,并且编译良好。但是,我希望能够正确地摆脱它们。我已经尝试了几个小时,但找不到解决方案。我发现了一些类似警告的例子,但这些都是没有定义默认构造函数的情况。
我在下面创建了一个最小示例:
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
struct minimal {
minimal()=default;
minimal(int in)
: x {in}
{}
template <typename Archive>
void serialize(Archive & ar,const unsigned vers){
ar & x;
}
int x;
};
int main()
{
std::stringstream ss;
boost::archive::text_oarchive oa {ss};
minimal M {10} ;
oa << M;
return 0;
}
我编译时的输出是
g++ -Wextra -Wall minimal.cc -lboost_serialization
minimal.cc: In instantiation of ''void minimal::serialize(Archive&,unsigned int) [with Archive = boost::archive::text_oarchive]'':
/usr/include/boost/serialization/access.hpp:116:20: required from ''static void boost::serialization::access::serialize(Archive&,T&,unsigned int) [with Archive = boost::archive::text_oarchive; T = minimal]''
/usr/include/boost/serialization/serialization.hpp:59:22: required from ''void boost::serialization::serialize(Archive&,unsigned int) [with Archive = boost::archive::text_oarchive; T = minimal]''
/usr/include/boost/serialization/serialization.hpp:109:14: required from ''void boost::serialization::serialize_adl(Archive&,unsigned int) [with Archive = boost::archive::text_oarchive; T = minimal]''
/usr/include/boost/archive/detail/oserializer.hpp:153:40: required from ''void boost::archive::detail::oserializer<Archive,T>::save_object_data(boost::archive::detail::basic_oarchive&,const void*) const [with Archive = boost::archive::text_oarchive; T = minimal]''
/usr/include/boost/archive/detail/oserializer.hpp:106:1: [ skipping 2 instantiation contexts,use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/archive/detail/oserializer.hpp:315:22: required from ''static void boost::archive::detail::save_non_pointer_type<Archive>::invoke(Archive&,const T&) [with T = minimal; Archive = boost::archive::text_oarchive]''
/usr/include/boost/archive/detail/oserializer.hpp:539:18: required from ''void boost::archive::save(Archive&,T&) [with Archive = boost::archive::text_oarchive; T = const minimal]''
/usr/include/boost/archive/detail/common_oarchive.hpp:71:22: required from ''void boost::archive::detail::common_oarchive<Archive>::save_override(T&) [with T = const minimal; Archive = boost::archive::text_oarchive]''
/usr/include/boost/archive/basic_text_oarchive.hpp:83:52: required from ''void boost::archive::basic_text_oarchive<Archive>::save_override(T&) [with T = const minimal; Archive = boost::archive::text_oarchive]''
/usr/include/boost/archive/detail/interface_oarchive.hpp:70:36: required from ''Archive& boost::archive::detail::interface_oarchive<Archive>::operator<<(const T&) [with T = minimal; Archive = boost::archive::text_oarchive]''
minimal.cc:24:11: required from here
minimal.cc:11:46: warning: unused parameter ''vers'' [-Wunused-parameter]
11 | void serialize(Archive & ar,const unsigned vers){
| ~~~~~~~~~~~~~~~^~~~
''''''
解决方法
修复很容易,只需删除未使用的参数的名称,或注释掉它的名称。
struct minimal {
minimal()=default;
minimal(int in)
: x {in}
{}
template <typename Archive>
void serialize(Archive & ar,unsigned /*vers*/){
ar & x;
}
int x;
};
在 C++17 中,您有 [[maybe_unused]] 属性说明符,例如:
struct minimal {
minimal()=default;
minimal(int in)
: x {in}
{}
template <typename Archive>
void serialize(Archive & ar,[[maybe_unused]] unsigned ver){
ar & x;
}
int x;
};
请参阅此问题以进一步阅读:
Unused parameter in c++11
Alibaba fastjson 序列化与反序列化
fastjson在官网的定义号称最小最快 多态的json序列化工具。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。
JSON这个类是fastjson API的入口,主要的功能都通过这个类提供。下面是这个类的重要几个方法介绍:
package com.alibaba.fastjson; public abstract class JSON { // 将Java对象序列化为JSON字符串,支持各种各种Java基本类型和JavaBean public static String toJSONString(Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,返回JSON字符串的utf-8 bytes public static byte[] toJSONBytes(Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,写入到Writer中 public static void writeJSONString(Writer writer,Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,按UTF-8编码写入到OutputStream中 public static final int writeJSONString(OutputStream os,// Object object,// SerializerFeature... features); }
JSON字符串反序列化API
package com.alibaba.fastjson; public abstract class JSON { // 将JSON字符串反序列化为JavaBean public static <T> T parSEObject(String jsonStr,Class<T> clazz,Feature... features); // 将JSON字符串反序列化为JavaBean public static <T> T parSEObject(byte[] jsonBytes,// UTF-8格式的JSON字符串 Class<T> clazz,Feature... features); // 将JSON字符串反序列化为泛型类型的JavaBean public static <T> T parSEObject(String text,TypeReference<T> type,Feature... features); // 将JSON字符串反序列为JSONObject public static JSONObject parSEObject(String text); }
Demo
import com.alibaba.fastjson.*; JSONObject jsonObj = JSON.parSEObject(jsonStr);
parse POJO
import com.alibaba.fastjson.JSON; Model model = JSON.parSEObject(jsonStr,Model.class);
parse POJO Generic
import com.alibaba.fastjson.JSON; Type type = new TypeReference<List<Model>>() {}.getType(); List<Model> list = JSON.parSEObject(jsonStr,type);
convert POJO to json string
import com.alibaba.fastjson.JSON; Model model = ...; String jsonStr = JSON.toJSONString(model);
convert POJO to json bytes
import com.alibaba.fastjson.JSON; Model model = ...; byte[] jsonBytes = JSON.toJSONBytes(model);
write POJO as json string to OutputStream
import com.alibaba.fastjson.JSON; Model model = ...; OutputStream os; JSON.writeJSONString(os,model);
write POJO as json string to Writer
import com.alibaba.fastjson.JSON; Model model = ...; Writer writer = ...; JSON.writeJSONString(writer,model);
总结:
更多关于fastjson的知识可以去w3c去了解:https://www.w3cschool.cn/fastjson/
Bootstrap 3.0不能与Apache 2.4一起使用吗?
我的问题是有其他人有这个问题吗?是否有解决方法,例如html标签的向后兼容性标志?我用谷歌搜索,找不到任何其他参考.
感谢您分享您可能拥有的任何调查结果.
解决方法
Alias /.noindex.html /usr/share/httpd/noindex/index.html Alias /css/bootstrap.min.css /usr/share/httpd/noindex/css/bootstrap.min.css Alias /css/open-sans.css /usr/share/httpd/noindex/css/open-sans.css Alias /images/apache_pb.gif /usr/share/httpd/noindex/images/apache_pb.gif Alias /images/poweredby.png /usr/share/httpd/noindex/images/poweredby.png
只需删除/注释掉所有/ css /行或禁用welcome.conf.我不知道这是否只附带CentOS或httpd包.这是一个愚蠢的事情.
同样的事情也发生在/ error / alias上.
bootstrap-可关闭的警告框
总结
以上是小编为你收集整理的bootstrap-可关闭的警告框全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
bootstrap4:pt-4 类不能与 col-12 类一起使用
如何解决bootstrap4:pt-4 类不能与 col-12 类一起使用?
我正在努力
<body>
<div>
Some text here
</div>
</body>
但我没有看到添加任何填充
我必须使用样式来添加填充,即
<div>
Some text here
</div>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
关于将 Boost 序列化与 -Wall -Wextra 一起使用时的警告和boost序列化库的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于Alibaba fastjson 序列化与反序列化、Bootstrap 3.0不能与Apache 2.4一起使用吗?、bootstrap-可关闭的警告框、bootstrap4:pt-4 类不能与 col-12 类一起使用的相关信息,请在本站寻找。
本文标签: