我在其他帖子中写过这个问题。虽然事实并非如此。
GCC编译器版本:4.8.3(适用于ARM)
代码摘录:
uint8_t data[4] __attribute__ ((aligned (8))) = {1,2,3,4};
int main()
{
uint32_t p = 0;
p = (uint32_t)&data[0];
p = (uint32_t)&data[1];
p = (uint32_t)&data[2];
p = (uint32_t)&data[3];
}
Run Code Online (Sandbox Code Playgroud)
请注意,数据位于任何函数之外,因此不会在堆栈中分配。
我看到的结果(调试时)是p:536870912, 536870913, 536870914, 536870915;
我期待这样的事情:536870912, 536870920, 536870928, 536870936
任何帮助将非常感激。
这是关于 GNU Linker 的。
我有一个(可以说)名为 的变量myVar。现在我希望我的变量被放置在内存中的某个地址。
我使用的编译器有一个__attribute__ ((blablabla))可以解决这个问题的方法。不过我决定使用链接描述文件。
从现在起,我设法将变量放置在链接器脚本中的某个地址处,如下所示:
myVar = 0xDEAD;
Run Code Online (Sandbox Code Playgroud)
它确实有效。问题是链接器很愚蠢,偶尔会在我的地址上部署其他变量。两者在某种程度上都表现得像在union.
我认为我需要以某种方式告诉链接器这个长度的地址已被占用,不应该被触及。
无论如何,我想你明白了。有什么帮助吗?
我正在学习反应,因此我开始使用styled-components和react-router dom
但是我面临困难,无法将自定义样式的组件应用于我自己创建的现有组件。
这是代码:
import React from "react";
import { NavLink } from "react-router-dom";
import styled from "styled-components";
const NavStyle = styled.div`
color: red;
margin: 10px;
`;
const Navigation = () => {
return (
<div>
<NavStyle>
<NavLink to="/">Home</NavLink>
</NavStyle>
<NavLink to="/about">About</NavLink>
<NavLink to="/contact">Contact</NavLink>
</div>
);
};
export default Navigation;
Run Code Online (Sandbox Code Playgroud)
问题是color: red没有应用,但是margin: 10px在视图中应用了。这样吗
我是打字稿的新手,并试图实现对接受第三个参数作为可选参数的函数的类型检查。然后根据另一个函数参数,使用或不使用第三个参数。
我将其设为可选,但是:
trailer根据另一个参数()切换该参数()上的必需/可选标志vehicleType。这是我为此场合准备的一个例子:
enum VehicleType {
Car,
Pickup
}
type Vehicle = {
weight: number;
length: number;
};
type Trailer = {
weight: number;
length: number;
};
function vehicle(
vehicleType: VehicleType,
vehicle: Vehicle,
trailer?: Trailer
) {
switch (vehicleType) {
case VehicleType.Car:
return `${vehicle.length} ${vehicle.weight}`;
case VehicleType.Pickup:
return `${vehicle.length + trailer.length} ${
vehicle.weight + trailer?.weight
}`;
}
}
Run Code Online (Sandbox Code Playgroud)
对于这段代码,我得到了两次相同的错误:
对象可能是“未定义”的。对于
trailer.对象
有没有办法强制编译器要求 iftrailer类型是Pickup,而不是当类型是 时Car?
我正在研究 Node.js 的 SQLite。目前我正处于起步阶段。我尝试将行插入表但出现错误。我使用的代码来自本教程。
这是代码:
const sqlite3 = require('sqlite3').verbose();
let db = new sqlite3.Database('./database/sq-lite-data-base.db', (err) => {
if(err) {
return console.log(err.message);
}
console.log("Connected to database!")
});
// Create table named 'users' with two columns: 1 - 'name' which values to be of type "text",
// and "age" of type "integer"
// db.run('CREATE TABLE users(name text, age integer)'); //When this line is not connected I get different error: "The table users already exists"
// Insert two rows to table …Run Code Online (Sandbox Code Playgroud)int a = 5;
int b = 6;
int c;
Run Code Online (Sandbox Code Playgroud)
第一份声明:
c = a > b ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
第二声明:
c = (a > b);
Run Code Online (Sandbox Code Playgroud)
上面两个有什么区别?
c ×4
c++ ×1
embedded ×1
gcc ×1
javascript ×1
linker ×1
node.js ×1
reactjs ×1
sqlite ×1
typescript ×1