A control device for an internal combustion engine, comprising: a battery that applies a battery voltage to the internal combustion engine; a first fuel injection valve that injects a fuel directly into a combustion chamber; high voltage generation means for boosting the battery voltage to a target high voltage to generate a desired high voltage; high voltage detection means for detecting a real high voltage generated by the high voltage generation means; fuel injection valve drive means for supplying any one of the real high voltage detected by the high voltage detection means and the battery voltage to the first fuel injection valve at a desired timing to drive the fuel injection valve; and drive current detection means for detecting a drive current of the first fuel injection valve, wherein the control device includes high voltage difference detection means for obtaining a difference between a predetermined reference voltage and the real high voltage detected by the high voltage detection means, drive current difference storage means for storing the amount of device difference variation of a real drive current detected by the drive current detection means in advance, and drive control value correction means for correcting at least one of a target value of the drive current to the first fuel injection valve and a target value of a drive time, on the basis of at least one result of the high voltage difference detection means; and wherein, when the real high voltage is higher than the predetermined reference voltage, the drive control value correction means is configured to correct at least one of the target value of the drive current to the first fuel injection valve and the target value of the drive time, wherein the high voltage difference detection means calculates the reference voltage on the basis of a voltage value of high voltage generated by the high voltage generation means at a first time when the supply of the high voltage to the first fuel injection valve stops, an inclination of increase of voltage generated by the high voltage generation means when no high voltage is supplied to the first fuel injection valve or to a second fuel injection valve, and a predetermined elapsed time between the first time and a second time when the supply of the high voltage to the second fuel injection valve starts, and the high voltage difference detection means detects a difference between the calculated voltage as the reference voltage and the real high voltage detected by the high voltage detection means, wherein the drive current difference storage means stores in advance a difference between a real drive current of the fuel injection valve drive means at the time of reaching at least one or more target drive currents when driving the fuel injection valve and the drive current detected by the drive current detection means. a battery that applies a battery voltage to the internal combustion engine; a first fuel injection valve that injects a fuel directly into a combustion chamber; high voltage generation means for boosting the battery voltage to a target high voltage to generate a desired high voltage; high voltage detection means for detecting a real high voltage generated by the high voltage generation means; fuel injection valve drive means for supplying any one of the real high voltage detected by the high voltage detection means and the battery voltage to the first fuel injection valve at a desired timing to drive the fuel injection valve; and drive current detection means for detecting a drive current of the first fuel injection valve, wherein the control device includes high voltage difference detection means for obtaining a difference between a predetermined reference voltage and the real high voltage detected by the high voltage detection means, drive current difference storage means for storing the amount of device difference variation of a real drive current detected by the drive current detection means in advance, and drive control value correction means for correcting at least one of a target value of the drive current to the first fuel injection valve and a target value of a drive time, on the basis of at least one result of the high voltage difference detection means; and wherein, when the real high voltage is higher than the predetermined reference voltage, the drive control value correction means is configured to correct at least one of the target value of the drive current to the first fuel injection valve and the target value of the drive time, wherein the high voltage difference detection means calculates the reference voltage on the basis of a voltage value of high voltage generated by the high voltage generation means at a first time when the supply of the high voltage to the first fuel injection valve stops, an inclination of increase of voltage generated by the high voltage generation means when no high voltage is supplied to the first fuel injection valve or to a second fuel injection valve, and a predetermined elapsed time between the first time and a second time when the supply of the high voltage to the second fuel injection valve starts, and the high voltage difference detection means detects a difference between the calculated voltage as the reference voltage and the real high voltage detected by the high voltage detection means, wherein the drive current difference storage means stores in advance a difference between a real drive current of the fuel injection valve drive means at the time of reaching at least one or more target drive currents when driving the fuel injection valve and the drive current detected by the drive current detection means.